【问题标题】:Getting python to seaarch for specific words in an input让python在输入中搜索特定单词
【发布时间】:2016-03-19 18:05:34
【问题描述】:

我一直在尝试创建一个在用户输入中搜索特定单词的基本程序(稍后合并到一个更大的程序中),这是我最初所做的:

command=input(">")
for "hi" in command():
    print("Hello there.")

我认为这会在用户输入中搜索“hi”,如果它找到这个词,它会回复你好,这不起作用所以我尝试使用变量来代替:

command=input(">")
string = "hi"
for string in command():
    print("Hello there.")

这仍然不起作用,所以我又做了这两个,但使用“if”而不是“for”,没有任何改变。如果有人可以提供帮助,将不胜感激,谢谢! - 詹姆斯。

【问题讨论】:

    标签: python-3.x for-loop text


    【解决方案1】:

    您需要使用in 运算符进行成员检查:

    if 'hi' in command:
        print("Hello there.")
    

    还请注意,由于command 是字符串而不是可调用对象,因此您不能在其尾部使用括号。

    请注意,当您使用in 时,它会检查整个字符串中的成员资格,并且您的文本中可能还有另一个包含hi 的单词,例如high,使用in 它将返回 True 这不是你想要的。

    所以你应该做的就是用空格分割字符串并检查单词hi的成员资格:

    if 'hi' in command.split():
            print("Hello there.")
    

    【讨论】:

    • 啊,是的,我知道这很简单,我只是先尝试​​了 for 循环,但在将其更改为“if”时忘记删除括号,愚蠢的错误,谢谢!
    猜你喜欢
    • 2015-09-15
    • 2017-08-28
    • 2015-05-22
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    相关资源
    最近更新 更多