首页 > 编程语言 >python--石头剪刀布游戏(列表)

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

时间:2023-02-18 10:37:30浏览次数:37  
标签:computerchoice python 列表 选择 -- yourchoice print choiceNum 剪刀

一、学习目标

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

二、实验环境

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//#")
continue
if choiceNum=='#':
break
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("游戏结束,欢迎下次再来!")
结果截图: 

python--石头剪刀布游戏(列表)_随机数生成器

咱就没输过! 

 四、代码分析

1.入库

import random

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

开车入库导入包:import random

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

2.建列表

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

python--石头剪刀布游戏(列表)_随机数生成器_03

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

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

3.游戏面板

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

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

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

4.选择判断

choiceNum=1
shuzi='请输入数字:'
choiceNum=input(shuzi)

if choiceNum not in ['0','1','2','#']:
print("无效选择,请选择0//1//2//#")
continue
if choiceNum=='#':
break

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

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("游戏结束,欢迎下次再来!")

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

这部分,电脑选择的东西,用那个random.choice在gameList列表里面随机一个元素;咱们选择的东西由“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


标签:computerchoice,python,列表,选择,--,yourchoice,print,choiceNum,剪刀
From: https://blog.51cto.com/hwuu/6065093

相关文章

  • PHP超低内存遍历目录文件和读取超大文件
    前言这篇笔记主要解决这么几个问题:PHP如何使用超低内存快速遍历数以万计的目录文件?PHP如何使用超低内存快速读取几百MB甚至是GB级文件?顺便解决哪天我忘了可以通过搜索引擎......
  • Yar的RPC的应用-php
    RPC,即RemoteProcedureCall(远程过程调用),调用远程计算机上的服务,就像调用本地服务一样。RPC可以很好的解耦系统。RPC可基于HTTP或TCP协议,WebService就是基于HTTP......
  • Cpolar使用
    官网:https://www.cpolar.com/下载好,安装,双击打开,注册,登录   ......
  • Centos7升级node
    1.yum安装node。yuminstall-ynodejs2.安装玩之后,默认版本v6.14(不支持需要的es2017)node-v3.升级node,下载n管理包npminstall-gn4.执行n命令升级到v10.3.0n10.3.0......
  • Centos安装KONG
    下载安装包:https://bintray.com/kong/kong-community-edition-rpm/download_file?file_path=centos/7/kong-community-edition-1.0.2.el7.noarch.rpm运行下面的两个命令进行......
  • CQF M1L4
                                                     ......
  • 安装Docker容器
    安装docker1、Docker要求CentOS系统的内核版本高于3.10,查看本页面的前提条件来验证你的CentOS版本是否支持Docker。通过uname-r命令查看你当前的内核版本$unam......
  • 局域网中linux和window共享文件方案——samba
    注明:曾经写过:局域网中如何为Ubuntu20.04和window10共享文件,本文可以视作为该篇的续篇。  ==========================================......
  • PHP+RabbitMQ消息发布与订阅简单示例
    我们有一个小说系统,每天会有很多作者发布新的小说内容,而读者因为个人爱好可能只订阅他喜欢的类型的小说,比如历史类、玄幻类小说。小说系统每天会根据用户的口味推送相关的小......
  • LoadRunner的安装
    LoadRunner安装:1、下载后找到路径,点击下载后的HPELoadRunner12.55CommunityEdition.exe(安装版)运行  2、选择安装的地址(所有的安装地址不能有中文),可以选择默认地......