python实现简单石头剪刀布游戏
作者:眼不痛请看我 发布时间:2023-03-08 03:23:44
标签:python,石头剪刀布,游戏
前言:
相信大家在童年或者生活中都玩过石头剪刀布这个游戏,这个游戏需要两个及以上的人。而今天,网上也实现了石头剪刀布的游戏。通过初步学习python,也学会了如何编写这个游戏。
目标:
利用python判断语句实现石头剪刀布的游戏。
思路:
假设剪刀(0),石头(1),布(2),那么如何才能获胜呢?
那么根据这个表格可以初步写出代码:
if user == 0 and computer == 0:
print("平局")
elif user == 0 and computer == 1:
print("玩家胜")
elif user == 0 and computer == 2:
print("电脑胜")
elif user == 1 and computer == 0:
print("电脑获胜")
elif user == 1 and computer == 1:
print("平局")
elif user == 1 and computer == 2:
print("玩家胜")
elif user == 2 and computer == 0:
print("玩家胜")
elif user == 2 and computer == 1:
print("电脑胜")
elif user == 2 and computer == 2:
print("平局")
当我们写完这串代码,我们不难发现,这样写代码太麻烦了,谁都怕麻烦,所以,我们可以根据这之中的规律写出更短的代码。
根据上表,我们可以很轻松的发现规律:
1.if user-computer == -2 or user-computer == 1 时,是玩家胜出
2.if user-computer == -1 or user-computer == 2 时,是电脑胜出
3.if user-computer == 0 时,是平局
那么精简后的部分代码如下:
if user == computer:
print("玩家是%s,电脑是%s,平局"%(usr,com))
elif user - computer == -1 or user - computer == 2:
print("玩家是%s,电脑是%s,玩家输"%(usr,com))
else:
print("玩家是%s,电脑是%s,玩家胜"%(usr,com))
因为电脑是随机的,我们并不知道,所以需要调用random
。完整的代码如下:
import random
computer = random.randint(0,2)
user = int(input("剪刀(0),石头(1),布(2):"))
#判断电脑出的是石头,剪刀,还是布
if computer == 0:
com = "剪刀"
elif computer == 1:
com = "石头"
else:
com = "布"
#判断玩家出的石头,剪刀,还是布
if user == 0:
usr = "剪刀"
elif user == 1:
usr = "石头"
else:
usr = "布"
#结果并输出
if user == computer:
print("玩家是%s,电脑是%s,平局"%(usr,com))
elif user - computer == -1 or user - computer == 2:
print("玩家是%s,电脑是%s,玩家输"%(usr,com))
else:
print("玩家是%s,电脑是%s,玩家胜"%(usr,com))
效果演示图如下:
来源:https://blog.csdn.net/c1429163893/article/details/120885245


猜你喜欢
- pytorch显存越来越多的一个原因optimizer.zero_grad()loss.backward()optimizer.step()
- 本文实例讲述了Python 面向对象之封装、继承、多态操作。分享给大家供大家参考,具体如下:封装、继承、多态 是面向对象的3大特性为啥要封装
- 前言嗨嗨,大家晚上好 ~ 又来给你们分享小妙招啦在python列表有重复元素时,可以有以下几种方式进行删除觉得不错的话,赶紧学起来用用吧 !
- 导读:SQL Server数据迁移的知识之前已经为大家介绍了很多,比如SQL Server数据库迁移方法,接下来就为大家详细介绍SQL Se
- MAC下MYSQL5.7.17无法连接的问题,下载安装完SQLBench_community 6.3.9后新建MYSQL CONNECTIO
- 目录索引模型B+Tree索引选择索引优化索引选择性覆盖索引最左前缀原则+索引下推前缀索引唯一索引索引失效总结索引模型哈希表适用于只有等值查询
- 本次转换需要依赖使用工具Navicat Premium。首先,将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer
- 引言Python 是一个强大的语言,提供了许多内置函数以帮助开发者编写高效、简洁的代码。在这篇文章中,我们将深入探讨三个内置函数:map、f
- 前言最近尝试重新封装XMLHttpRequest,在发post请求的时候,发现express通过req.body获取不到数据,req.bod
- 本文实例讲述了Python创建对称矩阵的方法。分享给大家供大家参考,具体如下:对称(实对称)矩阵也即:step 1:创建一个方阵>&g
- 前言发现本站没有一个靠谱的tp6记录行为日志的教程,于是就整理了一下自己在项目中已经投入使用的行为日志中间件的详细配置步骤供大家参考提示:先
- 1.hashlib的简介hashlib 是一个提供了一些流行的hash(摘要)算法的Python标准库.其中所包括的算法有 md5, sha
- DataList Web 服务器控件 通过使用模板显示数据源中的项。通过操作组成 DataList
- 什么是Firebug从事了数年的Web开发工作,越来越觉得现在对WEB开发有了更高的要求。要写出漂亮的HTML代码;要编写精致的CSS样式表
- 本文主要是利用scapy包编写了一个简易扫描工具,支持ARP、ICMP、TCP、UDP发现扫描,支持TCP SYN、UDP端口扫描,如下:u
- 本文实例讲述了flask框架单元测试原理与用法。分享给大家供大家参考,具体如下:为什么要测试?Web程序开发过程一般包括以下几个阶段:[需求
- 背景手机型号:型号:iphone 7 / iphone xs max版本:ios 10.3.1 / ios 12.1微信版本:WeChat
- 这篇文章主要介绍了如何使用Python抓取网页tag操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 机器学习分两大类,有监督学习(supervised learning)和无监督学习(unsupervised learning)。有监督学习
- MySQL prepare语法: PREPARE statement_name FROM preparable_SQL_statement;