【问题标题】:Why does my code not return when I write in lower case?为什么我写小写时我的代码不返回?
【发布时间】:2015-10-05 17:44:26
【问题描述】:

所以我有这个代码:

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?")

为什么当我写小写的 Hello, Hey 和 Hej 时,这段代码不回写 hello?

【问题讨论】:

  • 为什么你认为welcome.lower() 会等于"Hello",它有一个大写字符?还是其他的?

标签: python lowercase


【解决方案1】:

lower 会将字符串中的所有个字母转换为小写。因此,它们永远不会"Hello""Hey""Hej" 进行同等比较,因为每个字符串都以1 个大写字母开头。

不如试试

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

【讨论】:

    【解决方案2】:

    那是因为welcome.lower() 不可能真的是"Hello"

    lower() 的目的是让字符串全部小写。

    所以,像这样改变:

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

    【讨论】:

    • 谢谢大家,但是如果我想让它对你好和你好等等说同样的话怎么办?这样即使你把它写成大写或情人大小写,它仍然会说同样的回来?
    • 将每个输入转换为uppercaselowercase,然后分别与helloHELLO 进行比较。两种方式都行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多