<>
假设一共有5个洞口,小狐狸最开始再其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了,如果里面没有狐狸就第二天再来抓,但是第二天狐狸会在玩家来之前跳到隔壁洞口里。如果在规定的次数内抓到就算成功。
from random import choice, randrange def catchMe(n=5,maxStep = 10):
"""模拟抓小狐狸,一共有n个洞口,允许抓maxStep次 如果失败,小狐狸就会跳到隔壁洞口""" #n个洞口,有狐狸为1,没有狐狸为0 positions =
[0] * n #狐狸的随机初始位置 oldPos = randrange(0,n) positions[oldPos] = 1 #抓maxStep次
while maxStep >=0: maxStep-= 1 #这个循环保证用户输入是有效洞口编号 while True: try: x =input(
'请输入洞口编号(0-{0}):'.format(n-1)) #如果输入的不是数字,就会跳转except部分 x = int(x)
#如果输入的洞口编号有效,结束这个循环,否则就会继续输入 assert 0 <=x< n break except: #如果输入的不是数字,就执行这里的代码
print('要按套路来啊,再给你一次机会。') if positions[x] == 1: print('成功,我抓到小狐狸。') break else:
print('今天又没抓到。') #如果这次没抓到,狐狸就跳到隔壁洞口 if oldPos ==n - 1: newPos = oldPos - 1 elif
oldPos== 0: newPos = 0 else: newPos = oldPos + choice((-1.1)) positions[oldPos],
positions[newPos] =0,1 else: print('放弃吧,你这样乱试是没有希望的。') #启动游戏,开始抓狐狸吧 catchMe()

技术
今日推荐
PPT
阅读数 126
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信