我想掷3个相互独立的骰子

3 投票
5 回答
3192 浏览
提问于 2025-04-16 09:06

我想写一个Python程序,模拟同时掷3个骰子,但我希望这3个骰子每次掷出来的数字都不一样。比如第一次掷出来是2、1、6,这样就可以,但我不想程序出现重复的数字,比如2、4、2。(3、3、3也不行)

# generating random numbers 1 - 6
die1 = random.randint(1, 6) 

die2 = random.randrange(1, 6)

die3 = random.randrange(1, 6)

这就是我目前的所有代码,我还是个初学者……谢谢

5 个回答

2

一种简单的方法是

import random
die1, die2, die3 = random.sample([1,2,3,4,5,6], 3)

随机数文档

3

这个代码是可以正常运行的:

a = range(1,7)
random.shuffle(a)
a[:3]
8

试试 random.sample

>>> sides = 6
>>> dice = random.sample(range(1, sides + 1), 3)
[3, 6, 1]

我建议你考虑一下,给变量起名为 die1die2die3 是否真的合适。

通常来说,像上面的例子那样使用列表会更好。

撰写回答