我試圖用Python編程21點牌遊戲。 在玩家類中,我想定義一個循環,要求玩家決定是「打」還是「站」(二十一點規則)。除非輸入是正確的(無論是「S」還是「H」),循環需要循環,直到玩家輸入其中一個選項。錯誤處理所需的輸入
這是我爲這個特定的部分代碼:
while True:
try:
D = input('What is your decision, stand or hit? [press S for stand and H for hit]: ')
if D in ['S', 'H'] is False:
1/0
except:
print('Incorrect input, please try again (S for stand and H for hit)!')
continue
else:
if D == 'S':
print('OK, you decided to stand!')
else:
print('OK, you decided to hit. You will receive a 3rd card!')
break
這樣的想法是,除非決策是正確的(「S」或「H」),將創建一個錯誤,但到目前爲止,代碼無法正常工作呢...我認爲有一個小毛刺......
任何建議? 親切的問候,
大號
你知道嗎,例如['S','H']中的'Foo'是False'評估結果?它可能讓你感到驚訝。 – jonrsharpe
除了以外,你還期待什麼?你應該期待嘗試除塊 –