最近在学习python,做了一道人机大战的题目,分享一下,虽然可能有些麻烦,但是每个人思维是不同的。
#题目如下:1:人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一个1-3的数字 ;
1 import random
class Man_Machine_War():
def __init__(self):
self.USER={1:"曹操",2:"张飞",3:"刘备"}
self.GUESS_TYPE={1:"剪刀",2:"石头",3:"布"} def Choose_User(self):
'''
选择角色
:return:
'''
while (True):
User_Role_Num = input("提示:1曹操 2张飞 3刘备\n请玩家输入数字选择角色:")
try:
User_Role_Num = int(User_Role_Num)
if (User_Role_Num not in [1, 2, 3]):
print("请输入1,2,3选择角色!")
else:
print("用户选择:", self.USER[User_Role_Num])
return self.USER[User_Role_Num]
except(ValueError, TypeError):
print("输入错误!请玩家输入数字")
continue def Computer_Num(self):
'''
返回机器人选择的数字
:return:
'''
ran = random.randint(1,3)
print("电脑出:",self.GUESS_TYPE[ran])
return ran def User_Input_Num(self):
'''
返回用户选择的数字
:return:
'''
while(True):
User_Num = input("提示:1剪刀 2石头 3布\n请玩家输入数字选择出拳:")
try:
User_Num = int(User_Num)
if(User_Num not in [1,2,3]):
print("请输入1,2,3进行出拳!")
else:
print("用户选择:",self.GUESS_TYPE[User_Num])
return User_Num
except(ValueError, TypeError):
print("输入错误!请玩家输入数字")
continue def Judge_Bunko(self,User_Res,Computer_Res):
'''
比赛结果
'''
if Computer_Res==User_Res:
return "Draw"
elif Computer_Res==1:
if User_Res==2:
return "User_Win"
else:
return "User_lose"
elif Computer_Res==2:
if User_Res==3:
return "User_Win"
else:
return "User_lose"
elif Computer_Res==3:
if User_Res==1:
return "User_Win"
else:
return "User_lose"
User_Last_Name=Man_Machine_War().Choose_User()
Use_Result = {User_Last_Name:0,"Computer":0}
User_Win_Num = 0
Com_Win_Num = 0
User_Equal_Com = 0
while(True):
Win_Res=Man_Machine_War().Judge_Bunko(Man_Machine_War().User_Input_Num(),Man_Machine_War().Computer_Num())
if Win_Res=="User_Win":
print(User_Last_Name,"赢了!")
User_Win_Num+=1
elif Win_Res=="User_lose":
print("电脑赢了!")
Com_Win_Num+=1
elif Win_Res=="Draw":
print("平局")
User_Equal_Com+=1
Con = input("是否继续?y/n")
if Con=="y":
continue
elif Con=="n":
break
else:
print("输入错误,默认退出,游戏停止!")
break
print(User_Last_Name,"赢了{}次,电脑赢了{}次,平局{}次".format(User_Win_Num,Com_Win_Num,User_Equal_Com))
最近在学习python,做了一道人机大战的题目,分享一下,虽然可能有些麻烦,但是每个人思维是不同的。的更多相关文章
- 《用Python做HTTP接口测试》学习感悟
机缘巧合之下,报名参加了阿奎老师发布在"好班长"的课程<用Python做HTTP接口测试>,报名费:15rmb,不到一杯咖啡钱,目前为止的状态:坚定不移的跟下去,自学+ ...
- 用python做数字油画或者从一幅画学习风格,去画另一幅画
1. 用python做数字油画 模块: pillow 2. 从一幅画学习风格,去画另一幅画 http://pytorch.org/tutorials/advanced/neural_style_tut ...
- 零基础学习python 你该怎么做
本人文科生,回顾自己近 2 年的Python 自学经历,有一些学习心得和避坑经验分享给大家,让大家在学习 Python 的过程中少走一些弯路!减少遇到不必要的学习困难! 首先,最开始最大的困难应该就是 ...
- 学习python
最近感觉Python 很不错的样子,乘着这次寒假,不如就先学一下吧. 翻看了一些教程,发现<python 简明教程>质量上乘. 我目前学习python就是打算做一些上位机之类的,好像有点杀 ...
- Linux运维人员如何学习python编程
Linux运维人员如何学习python编程 从不会写代码,到自己独立能写代码解决问题 .这个问题很重要!盲目学习所谓的项目,最后 还是不会自己写代码解决问题.首先解决了独立能写代码解决问题,再通过项目 ...
- 新手学习Python时常见的错误
最近学习Python,现在把一些常见的错误总结如下: 1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 "Synta ...
- 学习Python的三种境界
前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...
- 1 python学习——python环境配置
1 python学习--python环境配置 要学习python语言,光看书看教程还是不好,得动手去写.当然,不管学习什么编程语言,最佳的方式还在于实践. 要实践,先得有一个Python解释器来解释执 ...
- 使用python做科学计算
这里总结一个guide,主要针对刚开始做数据挖掘和数据分析的同学 说道统计分析工具你一定想到像excel,spss,sas,matlab以及R语言.R语言是这里面比较火的,它的强项是强大的绘图功能以及 ...
随机推荐
- A^B Mod C
A^B Mod C 时间限制: 1 Sec 内存限制: 32 MB Problem Description 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = ...
- jvm(转)
原:https://blog.csdn.net/luomingkui1109/article/details/72820232 1.JVM简析: 作为一名Java使用者,掌握JVM的体系结构 ...
- OpenCV-Python教程8-图像混合
一.图片相加 要叠加两张图片,使用cv2.add(),相加两幅图片的形状(高度.宽度.通道数)必须相同.numpy中可以直接用res = img1 + img2相加.但是两者的结果并不相同 impor ...
- webpack+vue打包之后输出配置文件修改接口文件
用vue-cli构建的项目通常是采用前后端分离的开发模式,也就是前端与后台完全分离,此时就需要将后台接口地址打包进项目中,but,难道我们只是改个接口地址也要重新打包吗?当然不行了,那就太麻烦了,怎么 ...
- mysql表管理
4.1 查看所有表 查看所有表语句: show tables; 例: mysql> show tables; +-----------------+ | Tables_in_emp | +--- ...
- Ubuntu下使用Evernote
Ubuntu下安装使用Evernote http://blog.csdn.net/yangzhuoluo/article/details/8118996 http://blog.csdn.net/ya ...
- WPF: Hide grid row
http://stackoverflow.com/questions/2502178/wpf-hide-grid-row Setting all the Items in the Row to Vis ...
- ELK使用2-Kibana使用
一.创建kibana索引 1.es索引可以在这儿查看 2.kibana创建索引可以在这儿查看(必须es中存在相应的索引才能在kibana中创建) 点击创建然后选择es中存在的索引即可创建相应的索引 3 ...
- 系统环境变量(就是不需要切换目录,敲击“python”就可以进入编码器)
1.右击我的电脑,选择属性,选择“高级系统设置” 2.选择高级,选择环境变量 3.在系统变量中找到path,点击编辑.然后新建,将python的路径复制进去,点击确定.
- if-else(职责链)
var a=1,b=2,c=3,d=4; const rules = [ { match: function (a, b, c,d) { return a;}, action: function (a ...