n=7 list1=['a','b','c','d'] 知道这两个结果如何输出结果 a b c d a b c ?

2016-10-22 22:06:26 +08:00
 jin6220
4474 次点击
所在节点    Python
27 条回复
wnduan
2016-10-24 04:47:04 +08:00
@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)]])
wnduan
2016-10-25 00:17:47 +08:00
@jin6220 没关系的,好像只是你自己那里隐藏了,其实我还看的到,哈哈 ~。
yanzixuan
2016-10-25 14:32:51 +08:00
(list1*int(round(n*1.0/len(list1))))[:n]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/314713

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX