一、代码实现
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] inwinList:
print("恭喜您,伟大的闯关者,你赢了!!!")
else:
print("费费,你输了~~~~~~~")
print("游戏结束,欢迎下次再来!")
这部分,电脑选择的东西,用那个random.choice在gameList列表里面随机一个元素;咱们选择的东西由“4.选择判断”中输入的数字决定;就那个print您选择了啥,计算机选择了啥也可以用那个.format()完成:
print("您选择了:{}\n计算机选择了:{}".format(yourchoice,computerchoice))
if:判断咱们输入的是否和电脑输入的一样;
elif:判断列表【咱选择的,电脑随机的】是否在胜利列表winList中。
else:输掉了
-