2014-11-23 87 views
-2

我有以下代碼:如何使字符串比較不區分大小寫?

print("Now we need to get to know a little about you. What's your name?") 
name=input() 
print("Ok",name+", are you male, female, or another gender?") 
gender=input() 
if gender.lower==male.lower: 
    print("So you're a man. Great!") 
elif gender.lower==female.lower: 
    print("So you're a woman. Great!") 
else: 
    print("Sorry I don't understand. We wont refer to your gender.") 
    gender="unknown" 
time.sleep(2) 

正如你所看到的,我已經盡力整個「gender.lower」的事情,但還是如果我輸入「男」,我得到一個未定義的性別。幫幫我?謝謝

+2

這是哪種語言?請用正確的語言標記問題。 – iblamefish 2014-11-23 22:37:59

回答

0

您需要使用括號,因爲lower是一個方法。改爲嘗試gender.lower()male.lower()

在沒有括號的情況下使用lower會引用內置方法,但不會調用它。如果您在解釋器中自行打印gender.lower,則會看到對性別對象方法的引用。打印male.lower爲不同的對象提供了類似的參考(打印輸出中的內存位置將不同)。由於這些不相同,因此條件失敗。

0

我認爲你應該使用

"male" 

是字詞男性,而不是

male.lower 

這是試圖調用函數

0

mayby它的更好一些未定義的值像這樣:

if gender.lower=="male": 
    print("So you're a man. Great!") 
elif gender.lower=="female": 
    print("So you're a woman. Great!") 

我看不出您定義了一個變量男性或女性

相關問題