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设置windows桌面壁纸的实现代码
Jan 28 Python
从零学Python之hello world
May 21 Python
轻松掌握python设计模式之策略模式
Nov 18 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
浅谈python写入大量文件的问题
Nov 09 Python
搞定这套Python爬虫面试题(面试会so easy)
Apr 03 Python
python制作朋友圈九宫格图片
Nov 03 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
Apr 20 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
浅谈Django前端后端值传递问题
Jul 15 Python
Python 忽略文件名编码的方法
Aug 01 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
php调用mysql存储过程
2007/02/14 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
js实现的折叠导航示例
2013/11/29 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
python检测是文件还是目录的方法
2015/07/03 Python
python django事务transaction源码分析详解
2017/03/17 Python
Vue的el-scrollbar实现自定义滚动
2018/05/29 Python
教你一步步利用python实现贪吃蛇游戏
2019/06/27 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
德国拖鞋网站:German Slippers
2019/11/08 全球购物
幼儿园门卫制度
2014/01/29 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
行政文秘岗位职责范本
2014/02/10 职场文书
股东协议书
2014/04/14 职场文书
英语专业求职信
2014/07/08 职场文书
旷课检讨书范文
2014/10/30 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL
redis cluster支持pipeline的实现思路
2021/06/23 Redis