【发布时间】:2018-11-12 12:57:41
【问题描述】:
大家! 我目前正在学习 Python(没有先前的编码技能 - 至少不足以提及它们)并且我正在努力解决我们应该为家庭作业做的彩票机中的 for 循环。 在过去的两个小时里,我一直在谷歌上搜索这个,但我找不到任何可以暗示我朝着正确方向前进的东西。
我希望循环创建一个包含随机数的列表。打印给用户的随机数数量应由用户输入定义,并且不应使用重复项。每次创建副本时,它应该简单地选择一个不同的数字。关于我在这里搞砸的任何提示? (请注意它是 Python 2.x)
谢谢大家! :)
代码:
from random import randint
lotterylist = []
print "Welcome to the lottery machine!"
mynumbers = int(raw_input("How many numbers should be drawn?\n"))
for i in range(0, mynumbers):
lottery_numbers = randint(0, 48)
if lottery_numbers not in lotterylist:
lotterylist.append(lottery_numbers)
else:
mynumbers += 1
continue
print lotterylist
print "End"
【问题讨论】:
-
也许使用 while 而不是 if else。
-
使用
random.sample()代替,没有循环,例如lottery_numbers = random.sample(range(48), mynumbers). -
您还应该发布输入和生成的输出。无论如何,您正在做的是运行循环“x”次,添加一个新的随机数,如果相同则什么也不做。因此,流程有点缺陷。
-
@vasilis-g 提供了完美的解决方案,但我建议使用循环进行打磨,以供学习。
-
@NitinPawar 确实,使用循环和条件对 OP 学习更有益。
标签: python for-loop if-statement random