Python实现猜拳与猜数字游戏的方法详解
至此,我们的 Python零基础入门篇 的系列专栏到今天基本上算是结束了。今天没有任何的知识点,只是运用我们之前学习过的知识做两个小游戏的案例。第一个是模拟猜拳的小游戏,第二个就是猜数字的游戏。
猜拳小游戏
需求:
运用至今所学的 Python 知识编写脚本,实现一个人与计算机玩猜拳的石头剪刀布的小游戏。
这里我们先思考一下,如果将石头、剪刀、布分别用数字0、1、2表示,那么如何判定谁胜谁负呢?
user | robot | 结果 |
---|---|---|
0(石头) | 0(石头) | 平局 |
0(石头) | 1(剪刀) | user 获胜 |
0(石头) | 2(布) | robot 获胜 |
1(剪刀) | 0(石头) | robot 获胜 |
1(剪刀) | 1(剪刀) | 平局 |
1(剪刀) | 2(布) | user 获胜 |
2(布) | 0(石头) | user 获胜 |
2(布) | 1(剪刀) | robot 获胜 |
2(布) | 2(布) | 平局 |
不难发现游戏的规律如下:
如果user和computer相等就是平局如果用 (user+1) 除以 3 得到的余数与 robot 相等,就是user(人)获得胜利其余情况都是 robot 获胜案例脚本如下:
# coding:utf-8 import random # TODO:只针对输入的参数做了 int 的排除,未针对输入的 非 int 类型做校验,可通过 isNum 函数做校验,或者进行 异常捕获。 data = {0: "石头", 1: "剪刀", 2: "布"} while(True): robot = random.randint(0, 2) print("********猜拳小游戏即将开始,请准备!********") user = int(input("请输入[0:石头;1:剪刀;2:布;9:退出游戏]:")) if user not in (9, 0, 1, 2): print("--------输入参数不合法,请重新输入!--------") print(" ") continue elif user == 9: print("**********游戏结束,下次再来玩哦**********") break elif not 0 <= user <= 2: continue if user == robot: print("\"你\"出的是{}, \"ROBOT\" 出的是{}, 结果为:\"平局\"".format(data[user], data[robot])) print(" ") elif (user + 1) % 3 == robot: print("\"你\"出的是{}, \"ROBOT\" 出的是{}; 结果为:\"你赢了!\"".format(data[user], data[robot])) print(" ") else: print("\"你\"出的是{}, \"ROBOT\" 出的是{}; 结果为:\"ROBOT赢了!\"".format(data[user], data[robot])) print(" ")
PS:这里的传入参数校验并不完善,大家可以尝试自己动手完善一下。
数字猜猜猜小游戏
需求:
根据现实生活中的猜数字游戏的游戏规则,运用Python语言模拟实现猜数字游戏的的基本功能.
1、设定可猜测的次数,并根据提示进行数字区间的输入猜测的数字
2、将输入的数字与随机生成的数字进行比对,同时次数减一。若次数用完后,仍未猜对,则游戏结束。
案例脚本如下:
# coding:utf-8 import random # TODO:这并不是我想要的效果,但是目前也只能写成这样了,有时间再晚上吧。 robot = random.randint(1, 10) count = 5 print("*************游戏开始***************") print("猜数字游戏,数字在1到10之间,你有{0}次机会".format(count)) print(" ") while count > 0: num = input("请输入您要猜测的数字:") if num.isdigit(): num = int(num) if num == robot: print("对了") print(" ") break elif num < robot: # print("您输入的参数小了", "剩余机会次数:%s" % int(count-1)) print("您输入的参数小了", "剩余机会次数:{0}".format(count-1)) print(" ") else: print("您输入的参数大了", "剩余机会次数:{0}".format(count-1)) print(" ") count -= 1 if count == 0: print("您的机会已经用完") print(" ") break # print("你还剩余{0}次机会".format(count)) # print(" ") else: print("你输入的不是一个数字,请重新输入") print(" ") print("**********游戏结束************")
以上就是Python实现猜拳与猜数字游戏的方法详解的详细内容,更多关于Python 猜拳猜数字的资料请关注脚本之家其它相关文章!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?