python石頭剪刀布
阿新 • • 發佈:2018-12-22
# 2018-15-15 #作業:石頭剪刀布,要求贏了需要新增一次機會,機會全部用完要提示是否充錢繼續玩 #1元3次 import random list1=["石頭","剪刀","布"] winlist=[("石頭","剪刀"),("剪刀","布"),("布","石頭")] faillist=[("石頭","布"),("剪刀","石頭"),("布","剪刀")] # 定義函式judge,用於判斷人出拳和電腦出拳輸贏 def judge(count1): if personInput==computerInput: print("電腦出的是%s,平局" % computerInput) count1-=1 elif (personInput,computerInput) in winlist: print("電腦出的是%s,恭喜你勝利了" % computerInput) count1 += 1 elif (personInput,computerInput) in faillist: print("電腦出的是%s,你輸了" % computerInput) count1 -= 1 else: print("你的出拳有誤") return count1 #退出 def Exit(count1): print("Game Over") money = count1/3 print("你的賬戶餘額為%s" % money) count1=-1 return count1 # 充值 def recharge(count1): while True: continueOrExit = int(input("輸入1繼續,輸入-1退出")) if continueOrExit==1 or continueOrExit==-1: break else: print("你的輸入錯誤") if continueOrExit == 1: if count1 ==0: print("你的機會已用完,是否充錢繼續 ") while True: input2 =int(input("輸入1充錢,輸入-1退出")) if input2 ==1: money=int(input("請輸入充值金額:")) if money > 0: count1=3*money break else: print("你輸入的充值金額錯誤") elif input2==-1: count1=Exit(count1) break else: print("輸入錯誤") elif continueOrExit == -1: count1=Exit(count1) return count1 #記錄輸贏次數總局數 def winFailCount(win,fail,total): if tempCount2<tempCount3: #贏了記錄次數 win+=1 elif tempCount2>tempCount3: #輸局記錄次數 fail+=1 total+=1 print("總局數%s\t贏局%s\t輸局%s"%(total,win,fail)) # 程式開始,設定變數 total=0 #總局數 win=0 #贏局數 fail=0 #輸局數 count1=1 #開始時擁有的機會次數 while count1!=-1: #count=-1退出遊戲 computerInput = random.choice(list1) #獲取電腦輸入 print("-----------------猜拳遊戲------------------") print("你有%s次機會出拳"%count1) personInput=input("請出拳:") #人出拳 tempCount2=count1 #儲存未和電腦判斷前count1 tempCount3=count1=judge(count1) #判斷輸贏並返回剩餘機會數count1 count1=recharge(count1) #機會用完提醒使用者充值或退出 winFailCount(win,fail,total) #記錄輸贏次數總局數