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使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
Python PyQt5标准对话框用法示例
Aug 23 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
python @property的用法及含义全面解析
Feb 01 Python
python如何实现数据的线性拟合
Jul 19 Python
python将dict中的unicode打印成中文实例
May 11 Python
flask开启多线程的具体方法
Aug 02 Python
python获取命令行参数实例方法讲解
Nov 02 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 Python
宝塔更新Python及Flask项目的部署
Apr 11 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
第三节 定义一个类 [3]
2006/10/09 PHP
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
详解PHP的Yii框架中扩展的安装与使用
2016/04/01 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
python实现人脸识别代码
2017/11/08 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
Clarks鞋法国官方网站:英国其乐鞋品牌
2018/02/11 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
护理学毕业生求职信
2013/11/14 职场文书
篮球比赛口号
2014/06/10 职场文书
征兵宣传标语
2014/06/20 职场文书
单位活动策划方案
2014/08/17 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
高等学院职业生涯规划书范文
2014/09/16 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python