以下是 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)

代码解释:

  1. 创建 Die 类

    • 使用 class Die: 定义一个名为 Die 的类,用来表示骰子。
    • __init__(self, sides=6) 是类的构造函数,默认创建 6 面骰子。
    • self.sides = sides 将传入的面数存储到 sides 属性中。
    • roll_die(self) 方法用于模拟掷骰,它使用 random.randint(1, self.sides) 生成 1 到 sides 之间的随机整数并打印出来。
  2. 创建不同面数的骰子并掷骰

    • 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_10results_20 列表中。
  3. 打印结果

    • 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 中创建骰子类,模拟掷骰过程并记录结果。如果你想进一步探索,可以尝试添加更多功能,例如记录不同面数的骰子的平均值、最大值和最小值等等。

Python 骰子模拟:创建、掷骰和记录结果

原文地址: https://www.cveoy.top/t/topic/nwf0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录