Python中用random怎样实现掷骰子,详细过程是什么
Admin 2022-06-11 群英技术资讯 1087 次浏览
今天小编跟大家讲解下有关“Python中用random怎样实现掷骰子,详细过程是什么”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。根据人民邮电出版社出版的《Python程序设计现代设计方法》P102习题中的第7题――掷骰子游戏,进行代码编写。
一盘游戏中,两人轮流掷骰子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<b:
score_B+=1
else:
level_score+=1
a =0 # 重置双方分数,并进入下一轮循环
b =0 # 重置双方分数,并进入下一轮循环
# 此处如果不重置分数,本次投掷结果将会进入下一次循环,有悖题目要求和比赛公平性。
前面我们对每盘游戏进行了模拟,现在我们要书写题目最后的要求的代码。
因为前面用了score_A和score_B作为用来记录每盘游戏结束的变量,所以此处我们只需要对之前的变量进行大小比较即可。
if score_A>score_B: # 比较最终结果,游戏结束
print(f'本次比赛A胜,A总分为:{score_A},B总分为:{score_B},比赛期间平局次数为:{level_score}')
elif score_A<score_B:
print(f'本次比赛B胜,A总分为:{score_A},B总分为:{score_B},比赛期间平局次数为:{level_score}')
else:
print(f'本次比赛平局,双方总分:A{score_A} vs B{score_B},比赛期间平局次数为:{level_score}')
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 a<b: # B本盘获胜
score_B+=1
else:
level_score+=1
a =0 # 重置双方分数,并进入下一轮循环
b =0 # 重置双方分数,并进入下一轮循环
# 此处如果不重置分数,本次投掷结果将会进入下一次循环,有悖题目要求和比赛公平性。
if score_A>score_B: # 比较最终结果,游戏结束
print(f'本次比赛A胜,A总分为:{score_A},B总分为:{score_B},比赛期间平局次数为:{level_score}')
elif score_A<score_B:
print(f'本次比赛B胜,A总分为:{score_A},B总分为:{score_B},比赛期间平局次数为:{level_score}')
else:
print(f'本次比赛平局,双方总分:A{score_A} vs B{score_B},比赛期间平局次数为:{level_score}')
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
1、首先用pip来安装pymysqlpipinstallmysql报错:cryptographyrequiressetuptools18 5ornewer,pleaseupgradetoanewversion2、我想到的是更
还记得你在小学时学习如何加减数字吗?现在,你也可以对图像做同样的事情!输入图像可以进行算术运算,例如加法、减法和按位运算(AND、OR、NOT、XOR)。这些操作可以帮助提高输入照片的质量。本文将详解一下这些运算,需要的可以参考一下
这篇文章主要介绍了Python的flask常用函数route(),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了使用Python绘制空气质量日历图,文章基于Python绘制的相关知识展开对空气质量日历图的绘制,感兴趣的小伙伴可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008