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 07 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
python数据归一化及三种方法详解
Aug 06 Python
python mqtt 客户端的实现代码实例
Sep 25 Python
python队列原理及实现方法示例
Nov 27 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
重构Python代码的六个实例
Nov 25 Python
利用python爬取有道词典的方法
Dec 08 Python
python playwrigh框架入门安装使用
Jul 23 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技术开发技巧分享
2010/03/23 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
Javascript中的数学函数
2007/04/04 Javascript
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
javascript 写类方式之一
2009/07/05 Javascript
子窗口、父窗口和Silverlight之间的相互调用
2010/08/16 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
vue封装可复用组件confirm,并绑定在vue原型上的示例
2019/10/31 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
接口可以包含哪些成员
2012/09/30 面试题
工商管理实习生自我鉴定范文
2013/12/18 职场文书
2014年招生工作总结
2014/11/26 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
Apache自带的ab压力测试工具的实现
2022/07/23 Servers