当前位置: 首页 > news >正文

python--石头剪刀布游戏(列表)

本使用了下面几篇文章的知识:

python(8)--列表·初阶使用_码银的博客-CSDN博客

python(7)--if语句_码银的博客-CSDN博客

一、学习目标

利用列表实现石头剪刀布游戏

二、实验环境

Pycharm社区版、win11

三、代码

先贴代码,有需要的直接拿,想要进一步一起学习的,接着往下看第四个标题呀,亲。

起初我想直接在代码后边写注释来着,但是我发现我写的还是挺多的,放在手机上看很不舒服,就搞了个标题四。

import random
gameList=['石头','剪刀','布']
winList=[['石头','剪刀'],['剪刀','布'],['布','石头']]
choiceNum=1
shuzi='请输入数字:'
panel='''
+===欢迎参加石头剪刀布游戏===+
===>    请选择:                        
===>    0 石头                             
===>    1 剪刀                             
===>    2 布                                
===>    # 我不想玩了                   
==========================
'''
print(panel)
while True:choiceNum=input(shuzi)if choiceNum not in ['0','1','2','#']:print("无效选择,请选择0//1//2//#")continueif choiceNum=='#':breakcomputerchoice=random.choice(gameList)yourchoice=gameList[int(choiceNum)]print("您选择了(yourchoice):%s\n计算机选择了(computerchoice):%s"%(yourchoice,computerchoice))if yourchoice==computerchoice:print("这波势均力敌")elif [yourchoice,computerchoice] in winList:print("恭喜您,伟大的闯关者,你赢了!!!")else:print("费费,你输了~~~~~~~")
print("游戏结束,欢迎下次再来!")

结果截图: 

 

咱就没输过! 

 四、代码分析

1.入库

import random

开车入库导入包:import random

random模块实现了各种分布的随机数生成器。

2.建列表

gameList=['石头','剪刀','布']
winList=[['石头','剪刀'],['剪刀','布'],['布','石头']]

gameList 列表包含了这个游戏的所有选项了,在游戏中我们通过每个元素对应的索引值将他们一一提取和比较。

winList 列表这里面包含了所有能赢的可能,也就是这个游戏简单,咱就一一列举了;后续判断的时候,只要输入的新列表在这里有,那就判断胜利。

3.游戏面板

panel='''
+===欢迎参加石头剪刀布游戏===+
===>    请选择:                        
===>    0 石头                             
===>    1 剪刀                             
===>    2 布                                
===>    # 我不想玩了                   
==========================
'''

这部分是游戏面板,告诉屏幕前的我‘石头剪刀布’对应哪个数字。不想玩了,就输入“#”。

4.选择判断

choiceNum=1
shuzi='请输入数字:'
choiceNum=input(shuzi)if choiceNum not in ['0','1','2','#']:print("无效选择,请选择0//1//2//#")continueif choiceNum=='#':break

choiceNum等于啥数字都行,要不预先定义一下,下面的会报错。

input()函数作为输入数字的地方,其实这个括号里不妨“shuzi”也行,大不了咱就直接print("请输入数字:");在不就把这写文字都放到panel(面板)里,之后就input(panel)

5.判断输赢

computerchoice=random.choice(gameList)yourchoice=gameList[int(choiceNum)]print("您选择了(yourchoice):%s\n计算机选择了(computerchoice):%s"%(yourchoice,computerchoice))if yourchoice==computerchoice:print("这波势均力敌")elif [yourchoice,computerchoice] in winList:print("恭喜您,伟大的闯关者,你赢了!!!")else:print("费费,你输了~~~~~~~")
print("游戏结束,欢迎下次再来!")

这部分,电脑选择的东西,用那个random.choicegameList列表里面随机一个元素;咱们选择的东西由“4.选择判断”中输入的数字决定;就那个print您选择了啥,计算机选择了啥也可以用那个.format()完成:

print("您选择了:{}\n计算机选择了:{}".format(yourchoice,computerchoice))

if:判断咱们输入的是否和电脑输入的一样;

elif:判断列表【咱选择的,电脑随机的】是否在胜利列表winList中。

else:输掉了 

五、附小知识

Python语言是通用语言

Python语言是脚本语言

Python语言是开源语言

Python语言是跨平台语言

Python语言是多模型语言

Guido van Rossum Python语言创立者 2002年,Python 2.x 2008年,Python 3.x

相关文章:

python--石头剪刀布游戏(列表)

本使用了下面几篇文章的知识: python(8)--列表初阶使用_码银的博客-CSDN博客 python(7)--if语句_码银的博客-CSDN博客 一、学习目标 利用列表实现石头剪刀布游戏 二、实验环境 Pycharm社区版、win11 三、代码 先贴代码,有需要的直接拿,想要进…...

Project Caliper:目标是打造最佳VR手柄

一提到Valve Index,人们很快联想到它的五指追踪VR手柄,这款支持手势追踪和体感反馈的高端VR手柄,是市面上最强大的C端VR手柄之一。尽管如此,它依然存在许多缺陷,比如配备的小型摇杆质量不佳、集成式设计不利于维修、人…...

自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲

自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲前言Lift参数创建视锥CamEncodeSplat转换视锥坐标系Voxel Pooling总结前言 目前在自动驾驶领域,比较火的一类研究方向是基于采集到的环视图像信息,去构建BEV视角…...

C# 如何实现对“属性”的扩展

目录一、为什么要扩展属性二、如何做?一、为什么要扩展属性 属性是一个类的特征,随着开发的不断升级,这种特征可能在一直变化,有时候为了向下兼容,一般属性的数量都是直接递增的。 例如:一个Person类&…...

EBS 物料属性 先后台对应关系 MTL_SYSTEM_ITEMS_B

Introductionweb The basic table mtl_system_items_b is the basic table of item in ERP system and there are a lot of columns,but I don’t know used of each column,particularly the column like %_flag. The reason of general exception may be because the ‘%_fl…...

MYSQL数据库-主从复制(原理及搭建)

文章目录1 概述2 原理3 搭建3.1 主库配置3.2 从库配置1 概述 主从复制是指将主数据库的DDL和 DML操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进…...

3GPP-NR Band25标准定义频点和信道(3GPP V17.7.0 (2022-12))

Reference test frequencies for NR operating band n25 Table 4.3.1.1.1.25-1: Test frequencies for NRoperating band n25 and SCS 15 kHz CBW [MHz]carrierBandwidth...

微信小程序 之 原生开发

目录 一、前期预备 1. 预备知识 ​2. 注册账号 - 申请AppID 3. 下载小程序开发工具 4. 小程序项目结构 ​5. 小程序的MVVM架构 二、创建小程序项目 1. 查看注册的appId ​2. 创建项目 ​3. 新建页面 01 - 创建text页面文件夹 ​02 - 新建text的page ​03 - 在app.json中配置 ​…...

常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件

常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件1. vim 的基本介绍和使用1.1 vim的三种模式1.2 常用vim命令【小白】1.3 Vim键盘图:2. Linux用户管理2.1 添加用户2.2 删除用户2.3 修改账号3. Linux系统用户组的管理4. 用户和组相关文件4.1 …...

阿里云服务器部署前后端分离项目

阿里云服务器部署 【若依】 前后端分离项目 文章目录一、域名解析二、服务器操作系统置空三、部署方式四、需安装环境配置五、Linux服务器安装相应内容(具体安装步骤)(一)安装JDK(3种方式)使用Yum安装&…...

内核经典数据结构list 剖析

前言:linux内核中有很多经典的数据结构,list(也称list_head)为其中之一,这些数据结构都是使用C语言实,并且定义和实现都在单独的头文件list.h中。可以随时拿出来使用。list.h的定义不同linux发行版本路径不同,我们可以在/usr/incl…...

华为OD机试 - 考优选核酸检测点(Python)| 真题+思路+考点+代码+岗位

优选核酸检测点 题目 张三要去外地出差,需要做核酸,需要在指定时间点前做完核酸, 请帮他找到满足条件的核酸检测点。 给出一组核酸检测点的距离和每个核酸检测点当前的人数给出张三要去做核酸的出发时间 出发时间是 10 分钟的倍数 同时给出张三做核酸的最晚结束时间题目中…...

在魔改PLUS-F5280开发板上使用合封qsp iflash

文章目录引言硬件调整软件调整总结引言 由于目前灵动官网暂未发布正式版的PLUS-F5280开发板,可以使用现有的PLUS-F5270 v1.2开发板(下文简称PLUS-F5270开发版)替换为MM32F5280微控制器芯片,改装为PLUS-F5280开发板。本文记录了使…...

uni-app 瀑布流

效果图 一、组件 components/u-myWaterfall.vue <template><view class"u-waterfall"><view id"u-left-column" class"u-column"><slot name"left" :leftList"leftList"></slot></view&…...

华为OD机试 - 去除多余空格(Python)| 真题+思路+考点+代码+岗位

去除多余空格 题目 去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。 条件约束: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oQABYuJD-1676475739950)(https://…...

MyBatis 二级缓存简单使用步骤

1、二级缓存使用 在 MyBatis 中默认二级缓存是不开启的&#xff0c;如果要使用需手动开启。在 mybatis-config.xml 配置文件中设置 cacheEnabled true &#xff0c;配置如下&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE c…...

kubeadmin kube-apiserver Exited 始终起不来查因记录

kubeadmin kube-apiserver Exited 始终起不来查因记录 [rootk8s-master01 log]# crictl ps -a CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID POD b7af23a98302e …...

论文投稿指南——中文核心期刊推荐(工程材料学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…...

【动态规划】背包问题题型及方法归纳

背包问题的种类 背包问题是在规定背包容量为j的前提下&#xff0c;每个物品对应的体积为v[i]&#xff0c;价值为w[i]&#xff0c;从物品0到物品i中选择物品放入背包中&#xff0c;找出符合某种要求的价值。 &#xff08;1&#xff09;背包问题种类 01背包&#xff1a;每种物…...

全球十大资质正规外汇期货平台排行榜(最新版汇总)

外汇期货简称为FxFut&#xff0c;是“Forex Futures”的缩写&#xff0c;是在集中形式的期货交易所内&#xff0c;交易双方通过公开叫价&#xff0c;以某种非本国货币买进或卖出另一种非本国货币&#xff0c;并签订一个在未来的某一日期根据协议价格交割标准数量外汇的合约。 …...

使用Paramiko时遇到的一些问题

目录 1.背景 2.问题合集 1&#xff09;“bash: command not found” 2&#xff09;Paramiko中正常的输入&#xff0c;却到了stderr&#xff0c;而stdout是空 3&#xff09;命令实际是alias 1.背景 在自动化脚本中&#xff0c;使用了库Paramiko&#xff0c;远程SSH到后台服…...

数据预处理(无量纲化、缺失值、分类特征、连续特征)

文章目录1. 无量纲化1.1 sklearn.preprocessing.MinMaxScaler1.2 sklearn.preprocessing.StandardScaler2. 缺失值3. 分类型特征4. 连续型特征数据挖掘的五大流程包括&#xff1a;获取数据数据预处理特征工程建模上线 其中&#xff0c;数据预处理中常用的方法包括数据标准化和归…...

【C#基础】C# 运算符总结

序号系列文章2【C#基础】C# 基础语法解析3【C#基础】C# 数据类型总结4【C#基础】C# 变量和常量的使用文章目录前言运算符1&#xff0c;算术运算符2&#xff0c;布尔逻辑运算符3&#xff0c;位运算符4&#xff0c;关系运算符5&#xff0c;赋值运算符6&#xff0c;其他运算符7&am…...

存储性能软件加速库(SPDK)

存储性能软件加速库SPDK存储加速存储性能软件加速库&#xff08;SPDK&#xff09;SPDK NVMe驱动1.用户态驱动1&#xff09;UIO2&#xff09;VFIOIOMMU&#xff08;I/O Memory Management Unit&#xff09;3&#xff09;用户态DMA4&#xff09;大页&#xff08;Hugepage&#xf…...

微服务(五)—— 服务注册中心Consul

一、引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency>二、配置yml文件 server:port: 8006spring:application:name: cloud-payment-con…...

冷冻电镜 - ChimeraX Density Map 密度图 操作

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/129055160 由冷冻电镜所生成的Volume,需要观察其内部结构,使用ChimeraX进行操作。 加载Volumes,例如my_volume.mrc 效果如下: 高斯滤波 在命令行(Co…...

Matlab 点云旋转之轴角式

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 三维空间中表示旋转的方法有很多种,轴角式是其中非常经典的一种表示方式。虽然欧拉角表示旋转的方法很是常用,但欧拉角存在着万向锁这个问题,因此轴角式旋转在旋转使用中更为合适。其原理也很是明了,如下所述:…...

2023美赛数学建模资料思路模型

美赛我们为大家准备了大量的资料&#xff0c;我们会在比赛期间给大家分析美题目和相关的思路 全文都是干货&#xff0c;大家仔细阅读&#xff0c;资料文末自取&#xff01; 首先我们来看美赛23年题型的一个变化&#xff1a; 美赛23年题目变化&#xff1a; A题&#xff1a;连…...

Nginx配置HTTP强制跳转到HTTPS

https 访问我们的测试域名 https://www.xxx.com 站点&#xff0c;但是当我们直接在浏览器地址栏中直接输入 www.xxx.com 的时候却发现进入的是 http 协议的网站&#xff0c;这与我们的初衷不一致。由于浏览器默认访问域名使用的是80端口&#xff0c;而当我们使用SSL证书后&…...

从实现到原理,聊聊Java中的SPI动态扩展

原创&#xff1a;微信公众号 码农参上&#xff0c;欢迎分享&#xff0c;转载请保留出处。 八股文背多了&#xff0c;相信大家都听说过一个词&#xff0c;SPI扩展。 有的面试官就很喜欢问这个问题&#xff0c;SpringBoot的自动装配是如何实现的&#xff1f; 基本上&#xff0c…...

天津个人网站建设/whois域名查询

GitHub&#xff1a;https://github.com/JDawnF 一、MyBatis编程步骤 创建 SqlSessionFactory 对象。 通过 SqlSessionFactory 获取 SqlSession 对象。 通过 SqlSession 获得 Mapper 代理对象。 通过 Mapper 代理对象&#xff0c;执行数据库操作。 执行成功&#xff0c;则使…...

精美合同网站建设/最好的优化公司

DNS域名解析 简单的说就是把域名翻译成 IP 地址&#xff0c;但如果在浏览器直接输入IP&#xff0c;则跳过这个步骤。 DNS寻找解析顺序&#xff1a; 浏览器缓存解析 操作系统缓存解析 公共域名服务器解析&#xff08;根域名服务器/Root Server&#xff0c;主域名服务器&…...

wordpress 主机和域名绑定/域名注册查询入口

subprocess如何避免死锁 如果交互是双工的&#xff0c;即涉及读取和写入&#xff0c;则尤其如此。这种交互可能导致死锁&#xff0c;因为两个进程都可能最终等待另一个进程的输出 您希望从子进程标准输出管道读取&#xff0c;但标准错误管道的缓冲区已满&#xff0c;操作系统希…...

网页设计与制作实用教程(第3版)/网站结构优化的内容和方法

20150803 Created By BaoXinjian 一、摘要 1. JXL 1.1 JXL优点&#xff1a; Jxl对中文支持非常好&#xff0c;操作简单&#xff0c;方法看名知意。 Jxl是纯javaAPI&#xff0c;在跨平台上表现的非常完美&#xff0c;代码可以再windows或者Linux上运行而无需重新编写 支持Excel …...

wordpress主题--ux/阿里云空间+1对1私人专属设计师

$("#A").bind("input propertychange", function () {$("#B").val($(this).val()); });转载于:https://www.cnblogs.com/lb809663396/p/6519061.html...

旅游网站建设目的/by网站域名

一、go的搭建 二、初识go 三、混个脸熟--go 四、go的语言结构 五、go的常量与变量 六、go基础数据类型 七、go 条件语句 八、go 运算符 九、go条件语句switch 十、go循环语句 十一、go之数组 十二、go初级函数 十三、go函数高级运用 十四、go之变量、指针、内存地址 十五、go之…...