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

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.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

python--石头剪刀布游戏(列表)相关推荐

  1. python石头剪刀布游戏编程_Python实现简单石头剪刀布游戏

    近日在学习Python的一些基础知识,觉得还是很有趣的一个一门语言!就目前的学习的一些知识,编写了一些一个简单的石头剪刀布的游戏.主要是熟悉一些Python的一些控制语句. import random ...

  2. python“石头剪刀布”游戏

    游戏规则:石头打剪刀,布包石头,剪刀剪布. # -*- coding: utf-8 -*- """ 石头剪刀布游戏 该程序的关键点是把"石头".&qu ...

  3. python石头剪刀布游戏注释_用python做一个简单逻辑的游戏——剪刀石头布

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:萝卜的百科书 我们的基础中的基础,在前几文中已经介绍完了,其他的知识 ...

  4. python石头剪刀布游戏代码输入格式随机数种子设置为0_Python模拟石头剪刀

    我想写一个simul()函数,它接受一个整数,模拟Player1和Player2之间的n轮石头.布.剪刀.赢得最多回合的玩家将赢得n轮游戏,并可能出现平局.在 示例:simul(1) Player1 ...

  5. Python石头剪刀布游戏简单易懂

    #用户输入: a = int(input("请输入剪刀(0)石头(1)布(2):")) user = 0 if a == 0: user = "石头" elif ...

  6. python设计石头剪刀布游戏五次游戏体验_Python设计一个石头、剪刀、布游戏

    石头剪刀布是一种很受欢迎的游戏.我们将在python编程语言中实现石头剪刀布(Rock, Paper, and Scissors).Python是最简单的编程语言之一,理解它不需要花费太多时间.让我们 ...

  7. Python编程基础:第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game

    第三十七节 石头剪刀布游戏Rock, Paper, Scissors Game 前言 实践 前言 我们这一节的内容主要是对前边学习内容的一个综合应用,以石头,剪刀,布游戏为例讲解列表.随机数.用户输入 ...

  8. python猜拳游戏三局两胜制_python石头剪刀布小游戏(三局两胜制)

    Python 石头剪刀布小游戏(三局两胜),供大家参考,具体内容如下 import random all_choioces = ['石头', '剪刀', '布'] win_list = [['石头', ...

  9. Python 在线多人游戏开发教程 Day05#石头剪刀布游戏

    Python 在线多人游戏开发教程 Day01#做一个可以移动的方块 Python 在线多人游戏开发教程 Day02#做一个server 和 network Python 在线多人游戏开发教程 Day ...

  10. Python实践 制作石头剪刀布游戏 带GUI界面

    一.开发需求 使用 Python 编程实现 "石头剪刀布" 游戏,具体要求如下: 程序随机"出拳":在屏幕上显示"石头","剪刀& ...

最新文章

  1. uniapp中qrcode生成二维码后传的参数不见了_阿虚教你制作动态二维码,超详细教程!
  2. mega_[MEGA DEAL]终极Java专家认证捆绑包(98%)
  3. Nosql and Mongodb 介绍
  4. mysql 多表查询实例讲解_mysql多表连接查询实例讲解
  5. USG防火墙单出口接入互联网
  6. LeetCode:Longest Consecutive Sequence
  7. phpwind 报名插件 dpsign_修图神器!PS无损放大图片插件Alien Skin Blow Up,可调3600%...
  8. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-2.微服务下登录检验解决方案 JWT讲解...
  9. Y 组合子详解 (The Y Combinator)
  10. 启动分区不存在,使用分区工具修正
  11. 空域变换-直方图匹配(直方图规定化)
  12. 最新html word 分页符,分页符在哪 或者打开 word文档选项
  13. PDF转jpg工具(含注册码)
  14. 回路电感详细介绍(环路电感)
  15. 重庆-新加坡国际电竞嘉年华落幕“文旅+”助推建设国际旅游目的地
  16. 好记性不如烂笔头——C++篇
  17. 隐式 Style–CSS 在反爬虫中的应用
  18. 树莓派综合项目2:智能小车(三)无线电遥控
  19. 【复变函数笔记】解析函数的定义和性质
  20. 遥感辐射定律中用到的常数的精确值

热门文章

  1. 1,21条MySQL性能调优经验
  2. [欠驱动机器人]4,动态规划(Dynamic Programming)
  3. 2022移动办公平台app有哪些?移动办公平台怎么注册?需要下载吗
  4. 信号分解(如 EMD,ITD)应用于时间序列预测时是否存在问题
  5. 安全狗+linux使用教程,三分钟秒懂!服务器linux安全狗安装详细教程
  6. 安装安全狗linux版本提示报错
  7. 《年轻》——塞缪尔·乌尔曼
  8. 华为路由器经MPLS XXX配置组播稀疏(PIM-SM)模式服务
  9. sw 多线程_SOLIDWORKS 2018 如何选择CPU(i7, i9, 线程撕裂者Threadripper 对比测试)
  10. 深入理解面向discuz的插件开发