簡體   English   中英

帶輸入的While循環

[英]While loop with inputs

我正在為學校項目做一個簡單的游戲。 這只是猜測,而除了答案錯誤或完成時,我已將其中的大部分記下來。 到目前為止,這是我的代碼。

guess = input('Guess a letter.')



blank_answer = list('_ _ _ _ _ _')
correct_answer ='banana'
correct_answer_final = 'b a n a n a'
guess_num = 4
index_num = 0


while guess_num > 0 and "".join(blank_answer) != correct_answer_final:


    index_num = 0
    for letter in correct_answer:
        if letter == guess:
            blank_answer[index_num] = letter
        index_num += 2

    if letter != guess:
        guess_num -= 1

    print('The Word so far is ' + "".join(blank_answer)       
    guess = input('Guess a letter. (You have ' + str(guess_num) + ' guesses remaining)')

if "".join(blank_answer) == correct_answer_final:
    print('Good job ')

if guess_num == 0:
    print('sorry you ran out of guesses') 

我遇到的主要問題是在第一次猜測后會說剩余3個猜測,然后再經過幾次猜測就跳到2個,即使它們是正確的。 同樣,在正確猜測之后,它不會立即跳出循環。 如果正確,則必須再次輸入正確的字母。 這是在圖形窗口中完成的,因此我已將所有導入的命令更改為默認python,以使其更易於理解。 任何幫助將是巨大的!

不知道這是否可以解決您遇到的問題,但是while循環的條件似乎不正確。 我想你要找的是

while guess_num > 0 and "".join(blank_answer) != correct_answer_final

(此處的區別是andor

這樣,如果猜測用盡或猜測正確答案,則循環將退出。

暫無
暫無

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

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