用Python掷两次随机骰子

0 投票
3 回答
3225 浏览
提问于 2025-04-17 05:49

我需要掷两次六面骰子,然后把结果加起来。我不太确定这样做是否正确,但我觉得可能不对。我还在学习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 这个关键词不会在屏幕上显示任何东西,它只是用来把函数的结果返回出来。

撰写回答