@jin6220 前面已经各种正解了。如果要让你的代码得到期望的结果,在 for 循环里加个判断就行了,比如在 print() 前面来个 if c == n: break
jin6220
2016-10-24 09:38:36 +08:00
wnduan 在 n=7 list1=['a','b','c','d'] 知道这两个结果如何输出结果 a b c d a b c ? 里回复了你 4 小时 49 分钟前 删除 @jin6220 前面已经各种正解了。如果要让你的代码得到期望的结果,在 for 循环里加个判断就行了,比如在 print() 前面来个 if c == n: break ============= 抱歉 准备回复您呢 点了回复却把你的回复隐藏了 也不知道如何再次显示。 嗯 这样一改 确实是简单多了。 a=['a','b','c','d'] n=7 c=0 while c < n: for b in a: if c==n: break print(b) c+=1 a b c d a b c >>>
jin6220
2016-10-24 09:40:00 +08:00
@wnduan 抱歉 准备回复您呢 点了回复却把你的回复隐藏了 也不知道如何再次显示。 嗯 这样一改 确实是简单多了。 a=['a','b','c','d'] n=7 c=0 while c < n: for b in a: if c==n: break print(b) c+=1
eote
2016-10-24 14:28:40 +08:00
loop = lambda arr, n, result=[]:len(result) == n and result or loop(arr, n, result + [arr[(len(result)) % len(arr)]])
loop(list1, n)
eote
2016-10-24 14:31:05 +08:00
没看清题目,应该是
loop = lambda arr, n, result=[]:len(result) == n and ' '.join(result) or loop(arr, n, result + [arr[(len(result)) % len(arr)]])