我想继续随机生成一个字符,只要循环条件不满足。我希望我下面的代码能正常工作,但它没有:
import string
import random
def random_characters(number):
i = 0
new_string = ''
while (i < number) :
new_string = random.choice(string.ascii_lowercase)
i = i + 1
return new_string
random_characters(3)
当我运行这段代码时,什么都没有发生,也没有得到任何关于错误的反馈。我可能用错了return new_string
,但我无法找出它,即使这正是我所缺少的。在
两个原因:
相反,请考虑:
当然,这不是最Python式的方法。这里有一种方法不会在人工条件下循环:
^{pr2}$注意:这称为generator expression
首先,您的
return
在循环内,因此您永远不会循环多次。把它改成然后您需要实际构建
^{pr2}$new_string
,而不是每次都设置它。构建一个list
,然后"".join
它:那么您应该使用
for i in range(number)
而不是while
循环:你可以用一个简短的版本来理解列表:
如果你想运行这个,你有几个选择。您可以在交互式解释器中运行:
或者您可以告诉它
print
文件内的结果:相关问题 更多 >
编程相关推荐