Python-面向对象-人与机器猜拳游戏-对一次拳累加一次输赢
2022/4/17 14:12:35
本文主要是介绍Python-面向对象-人与机器猜拳游戏-对一次拳累加一次输赢,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
人和机器猜拳游戏写成一个类,有如下几个函数:
1. 函数1: 选择角色 1 曹操 2 张飞 3 刘备
2. 函数2: 角色选择猜拳 1 剪刀 2 石头 3 布,玩家输入一个1-3的数字
3. 函数3: 电脑出拳, 随机产生1个1-3的数字,提示电脑出拳结果
4. 函数4: 角色和机器出拳对战, 对战结束后,最后出示本局对战结果赢/输,
然后提示用户是否继续? 按y继续,按n退出
5. 最后结束的时候输出结果 角色赢几局,电脑赢几局,平局几次。
思路分析:
类里封装所有的函数
因为后面角色赢几局,其他几个函数也要用,所以定义为实例变量
from random import randint,choice class Game: def __init__(self): self.xjs=None self.ping=0 self.win=0 self.fail=0 def xuanjiaose(self): dict = {'1': '曹操', '2': '张飞', '3': '刘备'} while True: js = input('请输入您要选择的角色') if js in ('1', '2', '3'): self.xjs = dict[js] print('您选择的角色是%s' % self.xjs) return else: continue def rcq(self): dict={'1':'剪刀','2':'石头','3':'布'} while True: cq = input('请输入您要选择的拳') if cq in('1','2','3'): self.cq=dict[cq] print('%s出的拳是%s'%(self.xjs,self.cq)) return self.rcq else: continue def dcq(self): dict={'1':'剪刀','2':'石头','3':'布'} list=['1','2','3'] cq=choice(list) dcq=dict[cq] print('电脑出的拳是%s'%dcq) return dcq def duizhan(self): self.xuanjiaose() while True: r=self.rcq() d=self.dcq() if r==d: print('平局') self.ping+=1 elif r=='剪刀' and d=='石头' or r=='石头' and d=='布' or r=='布' and d=='剪刀': print('%s输了'%self.xjs) self.fail+=1 else: print('%s赢了'%self.xjs) self.win+=1 xw=input('请问您还玩吗?') if xw=='yes': continue elif xw=='no': print('游戏中,平局%s,%s赢了%d次,%s输了%d次'%(self.ping,self.xjs,self.win,self.xjs,self.fail)) break a=Game() a.duizhan()
这篇关于Python-面向对象-人与机器猜拳游戏-对一次拳累加一次输赢的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程
- 2024-12-18Python量化入门教程:轻松掌握量化交易基础知识