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 07 Python
python获取豆瓣电影简介代码分享
Jan 16 Python
Python的IDEL增加清屏功能实例
Jun 19 Python
利用pandas进行大文件计数处理的方法
Jul 25 Python
解决Python获取字典dict中不存在的值时出错问题
Oct 17 Python
修改python plot折线图的坐标轴刻度方法
Dec 13 Python
Python中new方法的详解
Jan 15 Python
对python字典过滤条件的实例详解
Jan 22 Python
Django中使用session保持用户登陆连接的例子
Aug 06 Python
Python搭建代理IP池实现检测IP的方法
Oct 27 Python
python实现连连看游戏
Feb 14 Python
解决c++调用python中文乱码问题
Jul 29 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给图片添加文字水印方法汇总
2015/08/27 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
解决vue props 拿不到值的问题
2018/09/11 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
下载给定网页上图片的方法
2014/02/18 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python实现ATM系统
2020/02/17 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
python中取绝对值简单方法总结
2020/07/24 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
一年级学生评语
2014/04/23 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
班组长安全工作职责
2014/07/15 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
新教师个人工作总结
2015/02/06 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python