有没有办法在输入中识别至少一个单词?

时间:2018-01-13 00:27:51

标签: python

例如

    userDay = input("How was you day? ")

用户输入"我的日子很好" 然后程序识别用户说'好'",然后选择正确的响应" good"。

对不起,如果你不明白,很难解释。

4 个答案:

答案 0 :(得分:1)

简单快捷的方法是使用 response.split()将响应拆分为单词,然后检查每个单词是否等于 good

通过这种方式,您可以避免搜索'good''good''good'(好词可以是首字母,结尾的单词或行中的某个地方)

答案 1 :(得分:1)

我建议使用python的内置词法分析工具shlex。它非常有用,因为它包含的功能可以轻松编写(简单)词法分析器。

所以在你的情况下你可以这样做:

import shlex
user_input = 'My day was good'
li = shlex.split(user_input)
print 'Your day was good' if 'good' in li else 'Your day was bad'

此处的print仅用于演示目的。你必须用你的代码替换它们,这些代码会为“好”选择正确的答案。

答案 2 :(得分:0)

这样的事情:

response = input("How was you day? ")
if response == 'good':
    # do something

或者,如果你只是在某个地方寻找'good'

response = input("How was you day? ")
if 'good' in response.lower():
    # do something

答案 3 :(得分:0)

只检查子字符串是否在字符串中:

userDay = input("How was you day? ")

if 'good' in userDay:
    print('good')

或者您可以使用:

if userDay.find('good') == 1:
    print('good')