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实现BT种子和磁力链接的相互转换
Nov 09 Python
python爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
python绘制散点图并标记序号的方法
Dec 11 Python
python实现顺时针打印矩阵
Mar 02 Python
python实现银联支付和支付宝支付接入
May 07 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
详解python播放音频的三种方法
Sep 23 Python
python 经典数字滤波实例
Dec 16 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
python有序查找算法 二分法实例解析
Feb 18 Python
Django如何使用redis作为缓存
May 21 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
判断用户是否在线的代码
2011/03/05 Javascript
基于jQuery实现的百度导航li拖放排列效果,即时更新数据库
2012/07/31 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
Python编写一个闹钟功能
2017/07/11 Python
python实现简易版计算器
2020/06/22 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python测试模块doctest使用解析
2019/08/10 Python
python中return如何写
2020/06/18 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
利用CSS3实现进度条的两种姿势详解
2017/03/21 HTML / CSS
戴森西班牙官网:Dyson西班牙
2020/02/04 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
竞选村长演讲稿
2014/04/28 职场文书
早读课迟到检讨书
2014/09/25 职场文书
初一数学教学反思
2016/02/17 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android