一、代码实现

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石头剪刀布小游戏开发_python石头剪刀布小游戏开发


三、代码分析

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:输掉了 
-