python新手:为什么random.choice()单独生成时会正确生成,但放在名称表达式中则不然

时间:2017-08-22 23:03:50

标签: python random

如果我自己做random.choice,我会得到所需的结果,但如果我把它放在名字表达中,我就不会。我问的原因是因为我正在制作一个摇滚纸剪刀游戏,我需要计算机在三者之间随机选择,而且从我读过的内容来看,它不实用{{1一切都在它的寂寞。什么是理想的解决方案?感谢。

例如:

random.choice

3 个答案:

答案 0 :(得分:8)

在交互式提示中键入random.choice(l)时,您不会反复调用comprandom。您只是要求python返回变量random.choice(l)的当前值。

每次需要新的随机数时,都应该致电0xC0000135

答案 1 :(得分:3)

在以下行中:

>>> comprandom = random.choice(l)

您将 comprandom 指定给列表 l 中的随机项。但是,在分配之后,如果要将 comprandom 重新分配给另一个随机值,则必须再次使用 random.choice(),如下所示重新分配值:< / p>

>>> comprandom = random.choice(l)    
>>> print(comprandom)
2
>>> comprandom = random.choice(l)
>>> print(comprandom)
1

原因是变量本身被赋值给值,而不是函数。

答案 2 :(得分:2)

正如其他人所说,你正在做的是将random.choice(l)的结果分配给comprandom

如果你想在python3中对函数进行别名,你应该可以执行以下操作

l = [1,2,3]
randch = random.choice
print(randch(l))