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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python中for循环控制语句用法实例
Jun 02 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python减少循环层次和缩进的技巧分析
Mar 15 Python
Python实现选择排序
Jun 04 Python
对python内置map和six.moves.map的区别详解
Dec 19 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
python3实现斐波那契数列(4种方法)
Jul 15 Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 Python
python如何在word中存储本地图片
Apr 07 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
PHP+ajax 无刷新删除数据
2010/02/20 PHP
深入php之规范编程命名小结
2013/05/15 PHP
php给每个段落添加空格的方法
2015/03/20 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
详解微信小程序的 request 封装示例
2018/08/21 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
C#的几个面试问题
2016/05/22 面试题
党校自我鉴定范文
2013/10/02 职场文书
优秀公益广告词大全
2014/03/19 职场文书
诚信考试倡议书
2014/04/15 职场文书
农业生产宣传标语
2014/10/08 职场文书
golang正则之命名分组方式
2021/04/25 Golang
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫