返回 "Hello"+ 输入 + "!"的 Python 函数,两种特定情况除外

标签 python string function if-statement

<分区>

我正在尝试创建一个 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))

关于返回 "Hello"+ 输入 + "!"的 Python 函数,两种特定情况除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233352/

相关文章:

c - 在循环中,读取的不同字符串最终会被重复为同一字符串

function - 在julia 1.0中,什么新语法?错误: { } vector syntax is discontinued

javascript - 为什么重新定义函数后函数变量仍然存在?

c - 如果我在 c 中声明一个接受变量/数组地址的函数,它应该只适用于传递地址。为什么它也适用于常量?

python - python seaborn 图中的图例标签不正确

python - 将字符串连接到列表

python - 您如何以编程方式设置属性?

python - Vpython 中的 Matlab 冒号运算符等效项

javascript - 在一行中处理文件夹路径并处理尾部斜杠?

string - 在不拆分单词的情况下将字符串拆分为子字符串(行)