1. 程式人生 > >python石頭剪刀布

python石頭剪刀布

# 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)            #記錄輸贏次數總局數