最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Python使用random模块实现掷骰子游戏代码示例
时间:2022-06-25 02:03:53 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下Python使用random模块实现掷骰子游戏代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
题目要求
一盘游戏中,两人轮流掷骰子5次,并将每次掷出的点数累加,5局之后,累计点数较大者获胜,点数相同则为平局。根据此规则实现掷骰子游戏,并算出50盘之后的胜利者( 50盘中嬴得盘数最多的,即最终胜利者)。
审题: 共有50盘游戏。一盘游戏有5局,每一局双方各掷骰子一次,5局结束以后统计分数,分数高的一方获胜。至此,一盘游戏结束。50盘游戏结束后,赢得盘数最多的一方为最终胜利者。
编写开始
↓↓↓开始奇妙Python之旅吧!↓↓↓
模块的导入以及初始变量的定义
统一声明变量,便于后续的管理和使用。
import random #导入模块 # ↓↓↓ 定义初始变量 a =0 # 用来记录人物A掷投掷的结果 b =0 # 用来记录人物B掷投掷的结果 level_score =0 # 用来记录双方平局次数 score_A =0 # 人物A的每小局胜利次数 score_B =0 # 人物B的每小局胜利次数
开始比赛过程
本处用了for … in range(50)循环模拟进行50盘游戏。并在循环内嵌套新的for … in …range(5)作为每盘游戏中进行5次过程的模拟
for x in range(50): # 进行50盘比赛
for n in range(5): # 模拟双方每盘摇5次骰子
person_A =random.randint(1,6) # 使用random模块的randit进行1~6模拟摇骰子的过程
a +=person_A # 将投掷结果保存
person_B =random.randint(1,6)# 使用random模块的randit进行1~6模拟摇骰子的过程
b +=person_B # 将投掷结果保存
if a>b: # 比较双方投掷结果总和,将比较结果保存至本场比赛最终结果
score_A+=1
elif a
比赛结束以后统计结果
前面我们对每盘游戏进行了模拟,现在我们要书写题目最后的要求的代码。
因为前面用了score_A和score_B作为用来记录每盘游戏结束的变量,所以此处我们只需要对之前的变量进行大小比较即可。
if score_A>score_B: # 比较最终结果,游戏结束
print(f'本次比赛A胜,A总分为:{score_A},B总分为:{score_B},比赛期间平局次数为:{level_score}')
elif score_A
完整代码
import random #导入模块
# ↓↓↓ 定义初始变量
a =0 # 用来记录人物A掷投掷的结果
b =0 # 用来记录人物B掷投掷的结果
level_score =0 # 用来记录双方平局次数
score_A =0 # 人物A的每小局胜利次数
score_B =0 # 人物B的每小局胜利次数
for x in range(50): # 进行50盘比赛
for n in range(5): # 模拟双方每盘摇5次骰子
person_A =random.randint(1,6) # 使用random模块的randit进行1~6模拟摇骰子的过程
a +=person_A # 将投掷结果保存
person_B =random.randint(1,6)# 使用random模块的randit进行1~6模拟摇骰子的过程
b +=person_B # 将投掷结果保存
if a>b: # 比较5局以后双方投掷结果总和,将比较结果保存至本场比赛最终结果
score_A+=1 # A本盘获胜
elif ascore_B: # 比较最终结果,游戏结束
print(f'本次比赛A胜,A总分为:{score_A},B总分为:{score_B},比赛期间平局次数为:{level_score}')
elif score_A
相关文章
-
崩坏星穹铁道娜塔莎如何培养
12-22
-
塞尔达无双封印战记最佳增强补给材料一览 增强补给材料图鉴
12-22
-
塞尔达无双封印战记最佳战斗补给材料一览 战斗补给材料图鉴
12-22
-
阴阳师天剑韧心鬼切有什么技能
12-22
-
塞尔达无双封印战记最佳支援补给材料一览 支援补给材料图鉴
12-22
-
崩坏星穹铁道米沙怎么养成
12-22