python中是否有接受变量的随机函数?

时间:2009-10-16 18:47:49

标签: python random

我正在尝试创建一个简单的骰子滚轮,我希望它创建一个介于1和骰子数量之间的随机数。但是,randint不接受变量。有办法做我想做的事吗?

以下代码:

import random
a=0
final=0
working=0

sides = input("How many dice do you want to roll?")

while a<=sides:
    a=a+1
    working=random.randint(1, 4)
    final=final+working

print "Your total is:", final

4 个答案:

答案 0 :(得分:3)

如果看起来你对骰子的数量和边数而感到困惑

我已将代码更改为使用raw_input()。不建议使用input(),因为Python 字面上评估可能是恶意python代码的用户输入

import random
a=0
final=0
working=0

rolls = int(raw_input("How many dice do you want to roll? "))
sides = int(raw_input("How many sides? "))

while a<rolls:
    a=a+1
    working=random.randint(1, sides)
    final=final+working

print "Your total is:", final

答案 1 :(得分:2)

您需要将旁边传递给randint,例如:

working = random.randint(1, int(sides))

此外,在python-2.x中使用input并不是最佳做法。请使用raw_input代替,您需要自己转换为数字,但它更安全。

答案 2 :(得分:1)

尝试randrange(1,5)

Generating random numbers in Python

答案 3 :(得分:1)

random.randint接受一个变量作为其两个参数之一。我不确定你的问题到底是什么。

这对我有用:

import random

# generate number between 1 and 6
sides = 6
print random.randint(1, sides)