我正在尝试创建一个 Python 函数,该函数可为除 Lewis 和 Clark 之外的所有人返回礼貌的问候语。这是我尝试过的:
def politeGreeting(name):
#if the user's name is Lewis or Clark, say "Oh, it's you."
if name == "Lewis" or "Clark":
return("Oh, it's you")
#if the user's name is anything else
else:
return("Hello," + name + "!")
name = input("please enter your name")
print (politeGreeting(name))
现在,这是为每个人打印哦,是你
,而不仅仅是刘易斯和克拉克。我不明白为什么 - 我的 IDE 没有返回任何错误消息。可以的话请帮忙,谢谢。
这应该可以解决您没有为每次比较重述条件 ==
的问题。 刘易斯
或克拉克
:
def politeGreeting(name):
#if the user's name is Lewis or Clark, say "Oh, it's you."
if name == "Lewis" or name == "Clark":
return("Oh, it's you")
#if the user's name is anything else
else:
return("Hello, " + name + "!")
name = input("Please enter your name:")
print(politeGreeting(name))
但是如果你想允许输入的不同大小写尝试这样的东西,它使用 str.lower()和 str.title() :
def politeGreeting(name):
#if the user's name is Lewis or Clark, say "Oh, it's you."
if name.lower() in {"lewis", "clark"}: # Use set for O(1) lookup time
return("Oh, it's you " + name.title())
#if the user's name is anything else
else:
return("Hello, " + name.title() + "!")
name = input("Please enter your name:")
print(politeGreeting(name))