当前位置: 首页 > 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;并签订一个在未来的某一日期根据协议价格交割标准数量外汇的合约。 …...

JBoltAI企业级Agent平台,重构业务服务新范式

随着AI技术从内容生成走向服务重塑&#xff0c;企业智能化建设已进入Agent驱动的新阶段。JBoltAI立足Java原生企业级架构&#xff0c;以AIGS&#xff08;人工智能生成服务&#xff09;为核心范式&#xff0c;面向企业复杂业务场景&#xff0c;正式构建企业级Agent平台&#xff…...

Git的安装及各步骤详解

官方网址&#xff1a;Git - Install for Windows 点击Click here to download&#xff0c;可能有点慢等待下载完成即可 双击下载的exe文件&#xff0c;进行安装 Next 更改保存位置Browse&#xff0c;然后Next 推荐勾选&#xff1a; Check daily for Git for Windows updates&a…...

TL494电源芯片实战:从电路设计到调压限流全解析(附完整电路图)

TL494电源芯片实战&#xff1a;从电路设计到调压限流全解析&#xff08;附完整电路图&#xff09; 在电子工程领域&#xff0c;电源设计一直是项目成败的关键环节。作为一款经典的PWM控制芯片&#xff0c;TL494凭借其稳定性和灵活性&#xff0c;成为众多工程师设计开关电源时的…...

GPT-SoVITS企业级部署指南:5大架构设计与性能优化策略

GPT-SoVITS企业级部署指南&#xff1a;5大架构设计与性能优化策略 【免费下载链接】GPT-SoVITS 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS GPT-SoVITS作为一款高性能的少样本语音转换与文本转语音系统&#xff0c;为技术决策者和架构师提供了企业级…...

WordPress站长必看:Bricks Builder插件爆高危RCE漏洞(CVE-2024-25600),手把手教你自查与修复

WordPress站长紧急应对&#xff1a;Bricks Builder高危漏洞深度防护指南 当我在凌晨三点收到服务器异常流量告警时&#xff0c;第一反应是检查最近安装的插件——Bricks Builder。作为一款拥有超过50万活跃安装量的WordPress可视化建站工具&#xff0c;它刚刚被曝出CVSS评分9.8…...

Qwen3-VL-8B应用场景:电商商品识别、文档图表分析,边缘设备AI新玩法

Qwen3-VL-8B应用场景&#xff1a;电商商品识别、文档图表分析&#xff0c;边缘设备AI新玩法 1. 模型核心价值解析 Qwen3-VL-8B-Instruct-GGUF作为阿里通义最新推出的轻量化多模态模型&#xff0c;实现了技术突破与工程实用性的完美平衡。这款8B参数的"视觉-语言-指令&qu…...

OpenClaw 2026.3.23:安全、插件、生态三重升级,AI助手进入新纪元

OpenClaw 2026.3.23&#xff1a;安全、插件、生态三重升级&#xff0c;AI助手进入新纪元> 3月23日&#xff0c;OpenClaw发布了2026.3.23版本&#xff0c;这次更新不仅是功能迭代&#xff0c;更是架构进化的里程碑。从安全加固到插件生态重构&#xff0c;OpenClaw正在从"…...

如何用OpCore-Simplify工具3步完成黑苹果系统自动化配置

如何用OpCore-Simplify工具3步完成黑苹果系统自动化配置 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否曾经被黑苹果系统复杂的OpenCore配置搞…...

cvpr论文学习《Generative Image Dynamics》

2024年cvpr最佳论文https://arxiv.org/pdf/2309.07906 CVPR 2024的最佳论文《Generative Image Dynamics》提出了一种从单张静态图像生成逼真、连续运动视频的技术&#xff0c;其核心在于将运动建模在频域&#xff0c;并通过扩散模型进行预测。 下面这个流程图概括了它的核心工…...

解决Unity与3DMax模型单位与中心点偏差的完整指南

1. 为什么Unity和3DMax会出现单位偏差&#xff1f; 这个问题困扰过几乎所有3D美术和Unity开发者。我第一次遇到时&#xff0c;明明在3DMax里建了个1米高的角色&#xff0c;导入Unity后却变成了100米高的巨人&#xff0c;场景直接崩了。后来发现&#xff0c;这其实是两个软件默认…...