假設一共有5個洞口,小狐狸最開始再其中一個洞口,然後玩家隨機開啟一個洞口,如果裡面有狐狸就抓到了,如果裡面沒有狐狸就第二天再來抓,但是第二天狐狸會在玩家來之前跳到隔壁洞口裡。如果在規定的次數內抓到就算成功。
from random import choice, randrange
def catchMe(n=5,maxStep = 10):
"""模擬抓小狐狸,一共有n個洞口,允許抓maxStep次
如果失敗,小狐狸就會跳到隔壁洞口"""
positions = [0] * n
oldPos = randrange(0,n)
positions[oldPos] = 1
while maxStep >=0:
maxStep-= 1
while True:
try:
x =input('請輸入洞口編號(0-{0}):'.format(n-1))
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()