while test_list != display:
display=[]
guess = input("Guess a letter: ").lower()
for letter in chosen_word:
if letter == guess:
display =[letter]
else:
display =["_"]
print(display)
Display variable is resetting to null
此代碼是劊子手游戲的一部分。因此,檢查用戶輸入的字母是否與單詞匹配,并列印出一個帶有下劃線的串列以及每個位置的正確猜測。但是,當我輸入另一個單詞時,顯示變數正在重置為空串列。我希望它由代碼更新。
提前致謝 :)
uj5u.com熱心網友回復:
那是因為您display在回圈的每次迭代中都創建了一個新串列,而沒有將舊串列保存在某處。
一個解決方案是將您的舊串列保存在一個變數中,我們稱之為它old_display,然后我們可以檢查該字母是否已被選中。
old_display = []
while test_list != display:
display = []
guess = input("Guess a letter: ").lower()
for letter in chosen_word:
if letter == guess:
display = [letter]
elif letter in old_display: # check what was picked before
display = [letter]
else:
display = ["_"]
old_display = display # update the old list to be the new list
print(old_display)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/520428.html
