我需要创建一个接收正整数(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 +。 0.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 +。 0.1 + 2 + 3 + 4 + 5 + ..
似乎无法找到如何返回其向上计数的字符串,直到输入的数字......
答案 0 :(得分:0)
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;
答案 1 :(得分:0)
我认为你在寻找的是python中的头部递归 这是让你实现这个的代码
def recursive(n):
if n == 1:
return 1
else:
return str(recursive(n-1)) + "+"+str(n)
答案 2 :(得分:0)
嵌套循环只是循环中的循环。如果我理解正确,您需要连接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