for循环中的print语句只执行一次

时间:2009-06-30 03:06:03

标签: python

我正在自学python。我正在考虑小程序,想出了做基诺数字生成器的想法。对于任何不知道的人,你可以选择4-12个数字,范围1-80,以匹配。所以第一部分是询问有多少数字,第二部分是生成数字。我想出了

x = raw_input('How many numbers do you want to play?')
for i in x:
   random.randrange(1,81)
print i

哪个不起作用,它打印x。所以我想知道最好的方法。做一个random.randrange函数?我如何根据用户输入调用x次。

一如既往,提前感谢您的帮助

1 个答案:

答案 0 :(得分:5)

这应该做你想要的:

x = raw_input('How many numbers do you want to play?')
for i in xrange(int(x)):
   print random.randrange(1,81)

在Python缩进事项中。它是您知道何时处于特定代码块中的方式。所以基本上我们使用xrange函数来创建一个循环的范围(我们在x上调用int因为它需要一个整数而raw_input返回一个字符串)。然后,我们在for block中打印randrange返回值。