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完全新手教程
Feb 08 Python
Python中itertools模块用法详解
Sep 25 Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
python 统计代码行数简单实例
May 04 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
简单了解python模块概念
Jan 11 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
May 18 Python
Python实现PyPDF2处理PDF文件的方法示例
Sep 25 Python
python与mysql数据库交互的实现
Jan 06 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
PyTorch 如何设置随机数种子使结果可复现
May 12 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
php while循环控制的简单实例
2016/05/30 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
jQuery 解析xml文件
2009/08/09 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
js图片向右一张张滚动效果实例代码
2013/11/23 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
python实现机器人行走效果
2018/01/29 Python
Python读写docx文件的方法
2018/05/08 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
在Python中表示一个对象的方法
2019/06/25 Python
python3.6编写的单元测试示例
2019/08/17 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
python随机模块random使用方法详解
2020/02/14 Python
快速了解Python开发环境Spyder
2020/06/29 Python
Python常用数据分析模块原理解析
2020/07/20 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
2014年团支部工作总结
2014/11/17 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript