2017-06-20 250 views
0

我正在做一個Python的健身計劃,我需要收集有關用戶的信息。 除了收集性別時,其餘代碼都可以正常工作。Python循環 - 繼續詢問,直到輸入正確的答案

如果未輸入答案M,F,m或f,我希望代碼重複該問題。然而,當我運行這段代碼時,即使輸入M,F,m或f,它也會顯示「請輸入M代表男性或F代表女性」。

gender = input("What is your gender? M/F: ") 
while gender != "M" or "F" or "m" or "f": 
    print("Please enter M for Male or F for Female.") 
    gender = input("What is your gender? M/F: ") 

我試圖與is not沒有成功取代!=

+0

因爲'性別= 「M」 或 「F」 或 「M」 或 「F」'是*始終*'TRUE' –

回答

2

這是正確的做法:

while gender not in ("M","F","m","f"): 

當您檢查or "m",「m」是真實的,因爲它有字符串值,因此它永遠是正確的。

你也可以做到!

while gender != "M" or gender != "F" or gender != "m" or gender != "f":