亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將一個函數重復 3 次

如何將一個函數重復 3 次

Cats萌萌 2021-07-07 14:01:08
我正在創建這個函數來測試用戶輸入(作為猜測)是否正確。def check_guess():   letter = "d"   guess = input("What is your guess: ")   if guess.isalpha() == False:       print("This is invalid")   elif guess.lower() > letter:       print("This too high")   elif guess.lower() < letter:       print("this is too low")   else:       print("that is correct")check_guess()所以我創建了這段代碼,它沒有問題。但是,我現在的任務是必須給用戶 3 次嘗試。如果用戶得到正確答案,則將打印“正確”并結束游戲。但是如果他們在所有 3 次嘗試中都失敗了,那么它就像“游戲結束”。我如何創建/復制代碼以使其能夠做到這一點?
查看完整描述

3 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

使用for循環及其else子句。else只有當您沒有跳出循環時,循環的子句才會運行。


首先讓您的函數返回一個值來指示用戶是否猜對了。否則將很難與之交互:


def check_guess():

    letter = "d"

    guess = input("What is your guess: ")

    if not guess.isalpha():

        print("This is invalid")

        return False

    guess = guess.lower()

    if guess == letter:

        print("that is correct")

        return True

    if guess > letter:

        print("This too high")

    else:

        print("this is too low")

    return False

現在您可以準確地調用該函數 3 次,或者直到用戶猜對為止,以先到者為準:


for _ in range(3):

    if check_guess():

        break

else:

    print('you failed')

當check_guess返回True表示成功時,我們break跳出循環,確保else子句不被觸發。如果三個迭代完成并且用戶從未做出正確的猜測,則觸發該子句。


查看完整回答
反對 回復 2021-07-21
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

def check_guess():

   letter = "d"

   guess = input("What is your guess: ")

   if guess.isalpha() == False:

       print("This is invalid")

       return False

   elif guess.lower() > letter:

       print("This too high")

       return False

   elif guess.lower() < letter:

       print("this is too low")

       return False

   else:

       print("that is correct")

       return True


for i in range(0,3):

     status = check_guess()

     If status:

         print(“success”)

         break

else:

     print(“fail”)


查看完整回答
反對 回復 2021-07-21
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

如果用戶是對的,您需要返回,如果不是,則增加一個計數器。這樣的事情應該工作:


count = 0

while count < 3:

    if check_guess():

        # he's right

        break

    else:

        # he's wrong

        count += 1

if count >= 3:

    print("You lose !")

else:

    print("You win !")


查看完整回答
反對 回復 2021-07-21
  • 3 回答
  • 0 關注
  • 334 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號