【发布时间】:2017-11-10 02:40:53
【问题描述】:
我在使用 while 循环重复函数时遇到问题。
我不是美国学生,所以请理解我的英语。 我不知道出了什么问题,希望我能得到一些帮助。 我知道我可以在函数中附加随机数并返回它。
问题是:
有一个有 5 面的骰子,每面都写着 a , b , c , d ,e。如果我得到一个 d 或一个 e,我会再次投掷并记录下来,直到我得到一个 a、b 或 a c。例如)如果我掷骰子 5 次,我可以得到:d、e、d、d、a 或类似的东西。在我的程序中,我想模拟这个过程。我想要它,以便函数 randomnumbers 可以生成 0~4 的随机数。我希望主程序循环通过此函数获取随机数的过程(强制)。然后,我希望主程序检索这些值并使用它来确定骰子上这些数字的含义(0=a、1=b、2=c、3=d、4=e)并将它们附加到单独的列表。最后我想打印列表中的值,我记录了我得到的值。
我特别要做到以下几点:
- 函数应该只返回一个随机数,而不是一个列表
- 主程序应负责制作列表并打印从函数中检索到的值。
def randomnumbers():
r = 0
import random
r = random.randrange(0,5)
return r
abc = ["a", "b", "c", "d", "e"]
List = []
while randomnumbers()>=3:
List.append(abc[randomnumbers()])
for i in List:
print i
【问题讨论】:
-
不要在你的函数中随机导入
-
while randomnumbers()>=3:应该做什么? -
你的函数 randomnumber 确实只返回一个值
-
据我所知,这段代码是正确的。如果没有产生预期结果,请定义预期结果。
-
每次调用
randomnumbers()时都会生成一个新的随机数。所以当你用while检查你的随机数时,当你append它到你的列表时,它会是一个完全不同的数字。
标签: python loops random while-loop append