2015-10-05 66 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”进行比较。两种方式都可以工作。 –

相关问题