Трябва да създам функция, която получава положително число (n) и връща низ, използвайки вложени контури.
Например:
когато n = 3, върнатият низ трябва да бъде:
"1 + 2 + 3 + .. 1 + 2 + 3 + .. 1 + 2 + 3 + .."
когато n = 5, върнатият низ трябва да бъде:
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 + ..
Като пример, следният фрагмент от код:
n = 5
res = addnestedloops(n)
print (res)
трябва да произвеждат:
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 + ..
Не мога да разбера как да върне низа, в който се брои нагоре, докато въведеното число ...
Отговори:
0 за отговор № 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 за отговор № 2
Мисля, че това, което търсите, е рекурсия в питон Ето кода, който ще ви позволи да постигнете това
def recursive(n):
if n == 1:
return 1
else:
return str(recursive(n-1)) + "+"+str(n)
0 за отговор № 3
Вложената верига е само цикъл в рамките на цикъл. Ако те разбирам правилно, трябва n
струни свързвани, всяка от които съдържа n
номера.
Имам чувството, че това е училищна задача, така че няма да ти дам пълния отговор, но аз вярвам, че нуждата от вложена верига е
for i in range(n):
for j in range(n):
# Construct the sub string here and append it to a result variable
Не забравяйте, че изходът от функцията на обхвата е нула, така че range(3)
произвежда 0
, 1
и 2
.
Но не виждам защо се нуждаете от вложена верига, различна от тази, която трябва да бъде част от заданието. n
пъти с substring * n
, Например "hello" * 3
резултати в "hellohellohello"
.
О, и само за да ви разкажа малко повече, еднолинейното решение за вашия проблем е
("+".join("{0:d}".format(i+1) for i in range(n)) + "+..") * n