假设一共有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()
本文分享 CSDN - Kinght_123。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。python