簡體   English   中英

輸入選擇后流程結束

[英]Process ends after input selection

所以我是一個新手程序員,試圖學習 python 並試圖建立一個猜謎游戲。 所以我嘗試了用戶輸入選項 1,2,3(難度),但是當我運行它時,一旦你輸入它的難度,它就會自動結束該過程。

def puzzle():
    print("There are 3 puzzles:\n 1. Easy\n 2. Normal\n 3. Hard")
    print("\nWhich will you pick?")
    player_selections = input("Enter a number:")
    if player_selections == 1:
        print("I'm tall when I'm young, and I'm short when I'm old. What am I?")
        answer1 = "Candle", "candle"
        guess1 = ""
        guess_limit1 = 5
        guess_count1 = 0
        out_of_guesses1 = False
        while answer1 != guess1 and not out_of_guesses1:
            if guess_count1 < guess_limit1:
                guess1 = input("What is your guess?:")
                guess_count1 += 1
                print("Wrong! Try again")
            else:
                out_of_guesses1 = True
        if out_of_guesses1:
            print("Out of Guesses, You Lose!")
        else:
            print("You guessed the word. You win!")

    elif player_selections == 2:
        print("I'm tall when I'm young, and I'm short when I'm old. What am I?")
        answer2 = "Candle", "candle"
        guess2 = ""
        guess_limit2 = 5
        guess_count2 = 0
        out_of_guesses2 = False
        while answer2 != guess2 and not out_of_guesses2:
            if guess_count2 < guess_limit2:
                guess2 = input("What is your guess?:")
                guess_count2 += 1
                print("Wrong! Try again")
            else:
                out_of_guesses2 = True
        if out_of_guesses2:
            print("Out of Guesses, You Lose!")
        else:
            print("You guessed the word. You win!")

puzzle()

我看到的錯誤是:

if player_selections == 1:

但應該是這樣的:

if player_selections == '1':

和:

elif player_selections == '2':

那是因為輸入數據存儲在字符串中。 並且該過程結束,因為 if 語句中沒有 True 表達式。

希望對您有所幫助,如果您對我的回答感到滿意,我會很感激您接受它(左側有一個勾號)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM