import string
import random
string_pool = ["W", "X", "Y", "Z"]
names = ["Ironman", "Thor", "Spiderman"]
def func1(a):
d = []
for b in a:
continue
for c in range(5):
c += 1
d += random.choice(string_pool)
return print("{} : ".format(b) , d)
func1(names)
我希望这段代码的结果如下
Ironman : ["X", "X", "Y", "Z", "X"]
Thor : ["Y", "X", "Z", "Z", "X"]
Spiderman : ["Y", "Y", "Y", "Z", "X"]
但是,结果是
Spiderman : ["Y", "Y", "Y", "Z", "X"]
只有蜘蛛侠。。。我应该在代码中更改什么?谢谢大家!
我不知道你在这里想干什么。但以下代码将打印所有名称的输出:
不确定您希望这条线做什么
它实际上所做的是执行一个
for
循环,在这个循环中什么都没有发生。在for
循环的每次迭代开始时,循环控制变量(在本例中为b
)被分配iterable中下一个元素的值(在本例中为a
)在这种情况下,循环将迭代三次:
由于循环的内部是空的(只有
continue
语句,这意味着“立即跳回到循环的顶部并转到下一个迭代”),所以什么也不会发生现在,循环完成迭代后,变量
b
不会被清除或重置。最后分配给它的是a
的最后一个元素,即字符串'spiderman'
你的意思是:
注意函数的其余部分是如何在的
for
循环中的相关问题 更多 >
编程相关推荐