本使用了下面几篇文章的知识:
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.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