2015-10-05 64 views
-3

所以我有這樣的代碼:爲什麼我的代碼不能以小寫形式返回?

welcome = input() 
if (welcome.lower() == "Hello") or (welcome.lower() == "Hey") or (welcome.lower() == "Hej"): 
    input("Hello,\n" + "my name is Misty.") 
else: 
    print ("That way of saying hello is new to me, should i save it in my memory?") 

爲什麼當我寫小寫你好,嗨和HEJ這個代碼不寫打招呼還給我?

+2

爲什麼你認爲'welcome.lower()'會永遠等於' 「你好」'它有一個大寫字母?還是其他的? –

回答

4

lower全部的字符串中的字母改爲小寫。因此,他們將從不"Hello","Hey""Hej"等同比較,因爲每個字符串都以1個大寫字母開頭。

而是嘗試

if welcome.lower() in ('hello', 'hey', 'hej'): 
0

這是因爲welcome.lower()不能"Hello"真的。

lower()的目的是使字符串全部爲小寫。

所以,改變這樣的:

if (welcome.lower() == "hello") or (welcome.lower() == "hey") or (welcome.lower() == "hej"): 
+0

感謝你們所有人,但是如果我想讓你對hello和Hello等有同樣的說法呢?所以,即使你把它寫成大寫或情人的情況下,它仍然會說同樣的回來? – Mads

+0

將每個輸入都轉換爲「大寫」或「小寫」,然後分別與「hello」和「HELLO」進行比較。兩種方式都可以工作。 –

相關問題