Python 骰子模拟:创建、掷骰和记录结果
以下是 Python 代码实现,模拟掷骰过程,并记录不同面数的骰子掷骰结果:
import random
class Die:
def __init__(self, sides=6):
self.sides = sides
def roll_die(self):
print(random.randint(1, self.sides))
die_6 = Die()
results_6 = []
for i in range(10):
die_6.roll_die()
results_6.append(random.randint(1, die_6.sides))
die_10 = Die(10)
results_10 = []
for i in range(10):
die_10.roll_die()
results_10.append(random.randint(1, die_10.sides))
die_20 = Die(20)
results_20 = []
for i in range(10):
die_20.roll_die()
results_20.append(random.randint(1, die_20.sides))
print('6-sided die results:', results_6)
print('10-sided die results:', results_10)
print('20-sided die results:', results_20)
代码解释:
-
创建 Die 类
- 使用
class Die:定义一个名为Die的类,用来表示骰子。 __init__(self, sides=6)是类的构造函数,默认创建 6 面骰子。self.sides = sides将传入的面数存储到sides属性中。roll_die(self)方法用于模拟掷骰,它使用random.randint(1, self.sides)生成 1 到sides之间的随机整数并打印出来。
- 使用
-
创建不同面数的骰子并掷骰
die_6 = Die()创建一个 6 面骰子。results_6 = []初始化一个空列表,用于存储 6 面骰子的掷骰结果。- 使用
for i in range(10):循环掷 10 次骰子,每次掷骰后将结果添加到results_6列表中。 - 类似地,创建 10 面骰子 (
die_10 = Die(10)) 和 20 面骰子 (die_20 = Die(20)),并分别掷骰 10 次,将结果存储到results_10和results_20列表中。
-
打印结果
print('6-sided die results:', results_6)打印 6 面骰子的掷骰结果。- 类似地,打印 10 面和 20 面骰子的结果。
运行结果
6
4
6
1
1
3
1
3
3
2
6-sided die results: [4, 4, 1, 6, 1, 3, 3, 3, 2, 2]
6
10
6
2
6
9
1
9
9
8
10-sided die results: [6, 10, 2, 9, 1, 9, 9, 7, 8, 2]
7
17
16
1
7
17
20
11
3
3
20-sided die results: [17, 16, 1, 17, 11, 3, 7, 8, 11, 18]
注意:每次运行代码,结果都会不同,因为 random.randint() 函数每次生成的是随机数。
希望这篇文章能帮助你理解如何在 Python 中创建骰子类,模拟掷骰过程并记录结果。如果你想进一步探索,可以尝试添加更多功能,例如记录不同面数的骰子的平均值、最大值和最小值等等。
原文地址: https://www.cveoy.top/t/topic/nwf0 著作权归作者所有。请勿转载和采集!