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

0 投票
1 回答
963 浏览
提问于 2025-04-15 12:35

我正在自学Python编程,想着写一些小程序,突然想到可以做一个Keno数字生成器。对于不太了解的人来说,Keno是一个游戏,你可以选择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。所以我在想,怎么才能更好地实现这个功能呢?我是不是应该写一个随机数生成的函数?而且我该怎么根据用户输入的次数来调用这个函数呢?

再次感谢大家的帮助!

1 个回答

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循环的代码块里打印 randrange 的返回值。

撰写回答