[英]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
(此處的區別是and
與or
)
這樣,如果猜測用盡或猜測正確答案,則循環將退出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.