python实现石头剪刀布小游戏


Posted in Python onJanuary 20, 2021

本文实例为大家分享了python实现石头剪刀布的具体代码,供大家参考,具体内容如下

老师布置了一个石头剪刀布的作业,要可视化,还是先用代码实现再说可视化的事。

环境:window7,Python 3.5

代码:

#coding=utf-8
import random

exit_flag = False #设置flag用于break跳出两层循环,或者自定义异常也行,try:, except。
dic = {}
dic[0] = '剪刀'
dic[1] = '石头'
dic[2] = '布'

while True:
 humanStr = input("请输入[0:剪刀 1:石头 2:布] ")
 if humanStr.isdigit() and (int(humanStr) in [0,1,2]): #如果输入的是数字,并且在0,1,2中 
 human = int(humanStr) 
 windows = random.randint(0, 2)

 print ("你出的是%s,电脑出的是%s" % (dic[human],dic[windows]))

 if (human == 0 and windows == 2) or (human == 1 and windows == 0) or (human == 2 and windows == 1):
 print("祝贺你,你赢了!")
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")
 elif human == windows:
 print("平局")
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")
 else:
 print("不好意思,你输了")
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")

 while True:
 if oncemore == 'y' or oncemore == 'Y':
 break
 elif oncemore == 'n' or oncemore == 'N':
 exit_flag = True
 break #跳出内层循环,并且设置flag
 else:
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")
 if exit_flag == True:
 break #跳出层循环,结束程序

 else:
 print ("请重新输入!")
 pass

python实现石头剪刀布小游戏

PS:这里想要记录一下python2中input和raw_input的区别,以及python3中的input

对于python2:

input和raw_input都能接受字符串, raw_input()将所有输入作为字符串看待,返回字符串类型,而input()在对待输入纯数字时,返回数字类型(int,float),对待字符串的话,输入的字符串必须使用引号引起来,表明是个字符串,返回类型为字符串

python实现石头剪刀布小游戏

对于python3:

将raw_input()和input()进行了整合,去除了raw_input(),仅保留了input()函数,其接受任意性输入,将所有的输入都默认为字符串类型处理,并返回字符串类型。

python实现石头剪刀布小游戏

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python绘图方法实例入门
May 19 Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
玩转python爬虫之正则表达式
Feb 17 Python
python树莓派红外反射传感器
Jan 21 Python
对python字典过滤条件的实例详解
Jan 22 Python
Python高级特性 切片 迭代解析
Aug 23 Python
python 默认参数相关知识详解
Sep 18 Python
python随机数分布random均匀分布实例
Nov 27 Python
解析PyCharm Python运行权限问题
Jan 08 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
django Model层常用验证器及自定义验证器详解
Jul 15 Python
对Python3之进程池与回调函数的实例详解
Jan 22 #Python
python多任务及返回值的处理方法
Jan 22 #Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 #Python
python自动发送测试报告邮件功能的实现
Jan 22 #Python
python3去掉string中的标点符号方法
Jan 22 #Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 #Python
python3.4爬虫demo
Jan 22 #Python
You might like
Snoopy类使用小例子
2008/04/15 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
显示、隐藏密码
2006/07/01 Javascript
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
Angular使用Md5加密的解决方法
2017/09/16 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
2019/09/02 Python
详解python 降级到3.6终极解决方案
2020/02/06 Python
Python脚本实现Zabbix多行日志监控过程解析
2020/08/26 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
天网工程实施方案
2014/03/26 职场文书
交通事故案件代理词
2015/05/23 职场文书
实习感想范文
2015/08/10 职场文书
教师病假条范文
2015/08/17 职场文书