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

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

结果截图: 

咱就没输过! 

 四、代码分析

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//#")
        continue
    if 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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐