python使用if语句实现一个猜拳游戏详解


Posted in Python onAugust 27, 2019

任务要求

在控制台中提示输入石头、剪刀、布,按回车键,然后给出游戏结果。

分析

我们知道在游戏规则中,石头克剪刀,剪刀克布,布克石头。但是这在计算机中并不是很好直接的表示,因此我们分别用0、1、2分别代表游戏中的石头剪刀布。

那么电脑该如何出拳呢?那就该用到python中的一个模块random中的一个方法random.randint()在0~2范围内产生一个随机整数,就表电脑出拳了。

random.randint()的用法如下:

# 首先导入模块
import random
# 调用时传入两个整型数字,返回从1-2中任意一个整型数字
a = random.randint(1,2)
# 打印出1或者2
print(a)
# 再或者,那么b就可能是1-10中的任意一个数字(包括1和10)
b = random.randint(1,10)
print(b)
#在本案例中,我们只要0-2中的任意一个数即可,故
computer = random.randint(0,2)

玩家出拳的话,可以从键盘输入0-2中的任意一个数并保存在一个变量中,然后用if语句比较得出结果即可。

代码实现:

import random

# 从键盘获取用户的输入,只能输入0-2中的数字,否则结果会不正确,以后会有升级版
person = input('请输入:石头(0)、剪刀(1)、布(2):')
# input 返回的是一个字符串类型,randint(0, 2)返回的是int类型,需要把person强制转换成int类型,类型一致才可以比较
person = int(person)
computer = random.randint(0, 2)

# 为了更友好的显示信息
if person == 0:
 print('玩家:石头')
elif person == 1:
 print('玩家:剪刀')
else:
 print('玩家:布')
if computer == 0:
 print('电脑:石头')
elif computer == 1:
 print('电脑:剪刀')
else:
 print('电脑:布')

# 如果出拳一样就是平局
if person == computer:
 print('你好厉害呀!居然和我打成平局!')

# 玩家:石头 电脑:剪刀
# 玩家:剪刀 电脑:布
# 玩家:布 电脑:石头 这三种情况下玩家赢

elif person == 0 and computer == 1 or person == 1 and computer == 2 or person == 2 and computer == 0:
 print('恭喜你,你赢了!')
# 其他情况都是玩家输
else:
 print('真遗憾,你输了!')

运行示意图

python使用if语句实现一个猜拳游戏详解

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

Python 相关文章推荐
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
python pandas修改列属性的方法详解
Jun 09 Python
python主线程捕获子线程的方法
Jun 17 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
Python异常处理知识点总结
Feb 18 Python
python ddt数据驱动最简实例代码
Feb 22 Python
Python如何实现转换URL详解
Jul 02 Python
python 设置输出图像的像素大小方法
Jul 04 Python
Python如何访问字符串中的值
Feb 09 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
python用opencv 图像傅里叶变换
Jan 04 Python
Python基于Opencv识别两张相似图片
Apr 25 Python
Python socket 套接字实现通信详解
Aug 27 #Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 #Python
手写一个python迭代器过程详解
Aug 27 #Python
浅析Python语言自带的数据结构有哪些
Aug 27 #Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 #Python
python协程gevent案例 爬取斗鱼图片过程解析
Aug 27 #Python
Python中Unittest框架的具体使用
Aug 27 #Python
You might like
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
php字符串截取问题
2006/11/28 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
php实现文件下载更能介绍
2012/11/23 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
python实现爬虫下载美女图片
2015/07/14 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
Python 元组操作总结
2019/09/18 Python
python实现简单银行管理系统
2019/10/25 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python 实现try重新执行
2019/12/21 Python
使用Keras实现Tensor的相乘和相加代码
2020/06/18 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
学习雷锋精神倡议书
2015/04/27 职场文书
就业指导讲座心得体会
2016/01/15 职场文书