任务要求

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

分析

我们知道在游戏规则中,石头克剪刀,剪刀克布,布克石头。但是这在计算机中并不是很好直接的表示,因此我们分别用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使用if语句实现一个猜拳游戏详解相关推荐

  1. python实例化是什么意思_Python中实例化class的执行顺序示例详解

    前言 本文主要介绍了关于Python实例化class的执行顺序的相关内容,下面话不多说了,来一起看看详细的介绍吧 Python里对类的实例化时有怎样的顺序 一般来说一个类里面有类变量和方法,比如我们定 ...

  2. python怎么截取字符串函数_Python截取字符串(字符串切片)方法详解

    字符串本质上就是由多个字符组成的,因此程序允许通过索引来操作字符,比如获取指定索引处的字符,获取指定字符在字符串中的位置等. Python字符串直接在方括号([])中使用索引即可获取对应的字符,字符串 ...

  3. python数组对应元素相乘_python的几种矩阵相乘的公式详解

    1. 同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义.对于一维矩阵,计算两者的内积.见如下Python代码 ...

  4. python导入模块的变量_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...

  5. python黑帽编程视频_Python黑帽编程 3.4 跨越VLAN详解

    VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理网络障碍,将不同子网中的用户划到同一个VLA ...

  6. python内存的回收机制_python的内存管理和垃圾回收机制详解

    简单来说python的内存管理机制有三种 1)引用计数 2)垃圾回收 3)内存池 接下来我们来详细讲解这三种管理机制 1,引用计数: 引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用 ...

  7. python跳一跳编程构造_python实现微信跳一跳辅助工具步骤详解

    说明 1.windows上安装安卓模拟器,安卓版本5.1以上 2.模拟器里下载安装最新的微信6.6.1 3.最好使用python2.7,python3的pyhook包有bug,解决比较麻烦 步骤 1. ...

  8. python中unicode编码表_Python中的字符串操作和编码Unicode详解

    本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧. 字符串类型 str:Unicode字符串.采用''或者r''构造的字符 ...

  9. python 公众号文章发布_python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...

  10. python多个判断条件_python if 条件语句多条件判断怎么做?

    相信大家肯定在if函数的使用上踩过大坑,这是个逻辑上的思维,经常因为一点不注意,整个代码就乱了,面对分支选择我们要怎么做?一起来看下吧~ 实例01:编程实现输入学生的语文.数学.英语的成绩,单科满分1 ...

最新文章

  1. 简单的成绩录入系统程序及分析以及思考
  2. Node响应中文时解决乱码问题
  3. 搜索引擎学习(五)Lucene操作索引
  4. html博客页面实验报告,×××实验报告
  5. .net生成文字图片
  6. 一文读懂VictoriaMetrics集群方案
  7. SpringBoot整合themeleaf+bootstrap (五)
  8. linux hook 任意内核函数,linux内核中的hook函数详解
  9. 大厂开发“大牛”,你距离他们有多远?
  10. Linux 开发中的常用命令 ( Cygwin 环境也同样适用)
  11. 基于Lua语言的wireshark插件编写
  12. linux vnc 蓝屏,【典型问题分析 之 蓝屏问题】
  13. 群晖218J搭建VLMCSD
  14. 从零读懂CAN总线(上)
  15. (八) 项目干系人管理
  16. Unity Shader学习(五)鼠标移动方块
  17. SSL-ZYC 游戏
  18. 教会微信:突破文件发送100M限制
  19. 织梦DedeCMS后台模块管理列表不显示 【终极解决办法】
  20. 将网络url图片链接转换为File类型对象

热门文章

  1. Mysql 导入3亿数据
  2. select下拉框分组展示插件的使用--(select-mania插件的使用)
  3. 【python二级-练习题】
  4. 简单聊聊FPGA的一些参数——后篇
  5. UVa-10082-WERTYU
  6. 俺常去(用)滴地方~
  7. python 实现桌面壁纸自动更换
  8. 人人都是产品经理之用Axure制作微信主页原型图
  9. Error type: LoadXML Description: Incorrect XML
  10. 支付宝开放平台入驻流程及失败解决