用Python掷两次随机骰子
我需要掷两次六面骰子,然后把结果加起来。我不太确定这样做是否正确,但我觉得可能不对。我还在学习Python,所以对这些东西还比较陌生。
import random
def roll_die():
roll1 = random.randint(1,6)
roll2 = random.randint(1,6)
total = roll1 + roll2
return total
3 个回答
0
这段代码会完全满足你的需求。如果想了解更多信息,可以在交互式解释器中使用 help(something)
来获取帮助:
>>> import random
>>> help(random.randint)
Help on method randint in module random:
randint(self, a, b) method of random.Random instance
Return random integer in range [a, b], including both end points.
你也可以用一种简单粗暴的方法来测试这个:
>>> valid_numbers = list(range(2, 13)) # You can just use range(2, 13) in python 2.x
>>> valid_numbers
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> while len(valid_numbers) > 0:
... roll = roll_die()
... if roll in valid_numbers:
... print(roll)
... valid_numbers.remove(roll)
...
4
10
5
7
6
8
11
9
3
2
12
当然,你输入的内容应该和我的不同。
0
你应该在那之后调用你的函数:print roll_die()
2
它可以正常工作。
在你的脚本开始时,最好先初始化随机生成器,可以通过调用:
random.seed()
来实现。即使这不是必须的,省略它也不是错误。
如果你想测试一下,可以在脚本的最后添加以下内容:
print(roll_die())
来打印结果,因为 return 这个关键词不会在屏幕上显示任何东西,它只是用来把函数的结果返回出来。