假設一共有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