我正在尝试创建一个简单的骰子滚轮,我希望它创建一个介于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
答案 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)
答案 3 :(得分:1)
random.randint接受一个变量作为其两个参数之一。我不确定你的问题到底是什么。
这对我有用:
import random
# generate number between 1 and 6
sides = 6
print random.randint(1, sides)