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 № 1def 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