python--石头剪刀布游戏(列表)

本文系转载,排版没有拷贝,想看好一点排版的读者,可转到出处:https://blog.csdn.net/weixin_53197693/article/details/129055397

一、代码实现

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

-

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值