python实现一个摇骰子小游戏
作者:Bio大恐龙 发布时间:2021-11-06 05:49:26
标签:python,摇骰子
一、程序实现
分析问题:骰子比大小是我们经常玩的一个小游戏也十分的简单,就是不同玩家骰子点数比较大小。
编写程序:
#骰子比大小
import random as r #引入random库
peopel = input("请输入游戏人数:") #游戏人数
if 2 <= eval(peopel) <=6: #判断游戏人数是否符合设定
list_pl = {} #创建空字典,用于存储玩家及其获得的点数
list_numerb = [] #创建空列表,用于存储玩家的点数
for i in range(eval(peopel)): #产生玩家及其点数
list_numerb.append(r.randint(1,6)) #产生1到6之间的整数
list_pl[chr(65+i)] = list_numerb[i] #将对应的点数与玩家产生关联
print(list_pl) #输出结果
else:
print("该游戏至少需要两名玩家且不多于六位!")
运行结果如下:
请输入游戏人数:2
{'A': 5, 'B': 4}
请输入游戏人数:5
{'A': 4, 'B': 6, 'C': 3, 'D': 4, 'E': 1}
请输入游戏人数:9
该游戏至少需要两名玩家且不多于六位!
二、程序优化
1.预防不正确输入
部分用户可能将玩家人数输入成“三位”或者其他,为了预防这种错误,可以提示中加入例子或者用try,except实现。
peopel = input("请输入游戏人数:(例如:3)")
或者
try:
import random as r
peopel = input("请输入游戏人数:(例如:3)")
if 2 <= eval(peopel) <=6:
list_pl = {}
list_numerb = []
for i in range(eval(peopel)):
list_numerb.append(r.randint(1,6)) #产生1到6之间的整数
list_pl[chr(65+i)] = list_numerb[i]
print(list_pl)
else:
print("该游戏至少需要两名玩家且不多于六位!")
except:
print("输入格式错误,请按照提示输入!")
2.优化体验
首先可以优化的地方就是当人数变多时,玩家点数不利于观察比较。
#骰子比大小
try:
import random as r
peopel = input("请输入游戏人数:(例如:3)")
if 2 <= eval(peopel) <=6:
list_pl = {}
list_numerb = []
for i in range(eval(peopel)):
list_numerb.append(r.randint(1,6)) #产生1到6之间的整数
list_pl[chr(65+i)] = list_numerb[i]
print("{}玩家的点数为:{}".format(chr(65+i),list_pl[chr(65+i)]))
else:
print("该游戏至少需要两名玩家且不多于六位!")
except:
print("输入格式错误,请按提示正确输入")
结果如下:
请输入游戏人数:(例如:3)5
A玩家的点数为:6
B玩家的点数为:1
C玩家的点数为:6
D玩家的点数为:5
E玩家的点数为:4
来源:https://blog.csdn.net/ouyangk1026/article/details/122628337
0
投稿
猜你喜欢
- 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解。那么我们来分析下两位大神 次碳酸钴 和
- <form action="calscore.asp?action=do" met
- 本文实例为大家分享了PHP实现简易计算器的具体代码,供大家参考,具体内容如下老规矩,先上GIF动态图,看个效果,如果符合你的项目或者确定你要
- 错误截图如下:类似报错的原因1.imread()中的路径参数有误a.相对路径:此项目文件夹下可写成imread(“1.jpg”);b.绝对路
- 今天研究了个开源项目,数据库是mysql的,其中的脚本数据需要备份,由于本人的机器时mac pro,而且mac下的数据库连接工具都不怎么好用
- 本文实例讲述了Python实现的数据结构与算法之基本搜索。分享给大家供大家参考。具体分析如下:一、顺序搜索顺序搜索 是最简单直观的搜索方法:
- 以下的文章主要是介绍MySQL5创建存储过程的实例演示,MySQL5创建存储在实际操作中应用的频率还是很高的,以下就是MySQL5创建存储过
- 本文实例讲述了微信扫码支付模式。分享给大家供大家参考,具体如下:背景:因为微信占据众多的用户群,作为程序开发,自然而然也成了研究的重点。毕竟
- 在讲爬取淘宝详情页数据之前,先来介绍一款 Chrome 插件:Toggle JavaScript (它可以选择让网页是否显示 js 动态加载
- 对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个
- 1. Python 的参数传递Python的参数传递,无法控制引用传递还是值传递。对于不可变对象(数字、字符、元组等)的参数,更类似值传递;
- 介绍本篇文章主要介绍如何爬取麦子学院的课程信息(本爬虫仍是单线程爬虫),在开始介绍之前,先来看看结果示意图怎么样,是不是已经跃跃欲试了?首先
- “没 Javascript 就会死”的页面通常都会加入 noscript 标签用于提示用户开启脚本支持。 然而在 IE8 下,如果在 nos
- 阿里云 视频直播 配置 及 PHP-SDK 接入教程个人感觉,阿里的文档比微信的要坑很多…微信最多是有些比较重要的东西放到比较不起眼、比较难
- Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都
- 分页程序sub show_page参数说明:total_records 总记录数everypage_records 每页显示条数
- 在查询中执行下列语句 EXEC sp_attach_single_file_db @dbname = 'tggov_Data'
- 一、获取抖音视频连接得到如下信息: “5.1 HV:/ 守门员戴手套没法系鞋带这种体育精神,值得尊敬%遇见足球 %足球 %精彩进球 %意甲
- 前一篇文章《Python 中如何实现参数化测试?》中,我提到了在 Python 中实现参数化测试的几个库,并留下一个问题:它们是如何做到把一
- 本文中我们将通过一个例子来介绍SQL Server 2005的一个Bug,首先,在建立同义词链接Oracle的时候,我们会使用下面的语句:C