/ / Jak używać zagnieżdżonych pętli w celu pobierania liczb całkowitych i tworzenia ciągów - python, pętle, zagnieżdżone

Jak korzystać z zagnieżdżonych pętli w celu przyjmowania liczb całkowitych i tworzenia ciągów - python, pętle, zagnieżdżone

Muszę utworzyć funkcję, która odbierze dodatnią liczbę całkowitą (n) i zwróci ciąg, używając zagnieżdżonych pętli.

Na przykład:

gdy n = 3 zwracany ciąg powinien być:

„1 + 2 + 3 + .. 1 + 2 + 3 + .. 1 + 2 + 3 + ..”

gdy n = 5, zwracany ciąg powinien być:

1 + 2 + 3 + 4 + 5 + .. 1 + 2 + 3 + 4 + 5 + .. 1 + 2 + 3 + 4 + 5 + .. 1 + 2 + 3 + 4 + 5 + .. 1+ 2 + 3 + 4 + 5 + ..

Na przykład następujący fragment kodu:

n = 5
res = addnestedloops(n)
print (res)

powinien generować wynik:

1 + 2 + 3 + 4 + 5 + .. 1 + 2 + 3 + 4 + 5 + .. 1 + 2 + 3 + 4 + 5 + .. 1 + 2 + 3 + 4 + 5 + .. 1+ 2 + 3 + 4 + 5 + ..

Nie wydaje się, aby dowiedzieć się, jak zwrócić ciąg, w którym liczy się w górę, aż wprowadzona liczba ...

Odpowiedzi:

0 dla odpowiedzi № 1
def themethod(n):
var toprint="";
var tmp;
if(n>0)tmp="1";
for(var i=2;i<=n;i++):
tmp+= "+".i;
for(var i=0;i<n;i++):
toprint += tmp;
print toprint;

0 dla odpowiedzi nr 2

Myślę, że to, czego szukasz, to rekurencja w pythonie Oto kod, który pozwoli ci to osiągnąć

def recursive(n):
if n == 1:
return 1
else:
return str(recursive(n-1)) + "+"+str(n)

0 dla odpowiedzi № 3

Zagnieżdżona pętla jest po prostu pętlą w pętli. Jeśli dobrze cię rozumiem, potrzebujesz n ciągi połączone, każdy zawierający n liczby.

Mam wrażenie, że jest to zadanie szkolne, więc nie dam ci pełnej odpowiedzi, ale wierzę, że konstrukcja zagnieżdżonej pętli, której potrzebujesz, to

for i in range(n):
for j in range(n):
# Construct the sub string here and append it to a result variable

Pamiętaj, że wyjście funkcji zakresu opiera się na wartości zerowej, więc range(3) produkuje 0, 1 i 2.

Nie rozumiem jednak, dlaczego potrzebujesz zagnieżdżonej pętli, która nie powinna być częścią zadania. Możesz po prostu skonstruować ciąg podrzędny i powtórzyć go n razy z substring * n. Na przykład "hello" * 3 prowadzi do "hellohellohello".

Aha, i żeby dać ci więcej do myślenia, jednym rozwiązaniem dla twojego problemu jest

("+".join("{0:d}".format(i+1) for i in range(n)) + "+..") * n