检查用户输入是否包含数组中的单词 - Python 3

时间:2016-08-24 20:32:10

标签: python

我正在编写一个代码,询问一定数量的问题。 我试图让用户输入答案,代码检查用户输入的几个单词列表中的任何单词。

<ion-side-menus>
  <ion-side-menu side="left">
    <ion-content>
     <ion-list>
       <ion-item ng-if="Admin">
          Admin Side Menu
       </ion-item>
       <ion-item ng-if="!Admin">
          Guest
       </ion-item>
       <ion-item href='#/app/store'>
         Store
       </ion-item>
       <ion-item href='#/app/store'>
         About Us
       </ion-item>

       <!-- Admin Side Menu -->
         <ion-item ng-if="Admin" href='#/app/progres'> 
           Progress Tracker</ion-item>
         <ion-item ng-if="Admin" href='#/app/settings'> 
           Settings </ion-item>
         <ion-item ng-if="Admin" href='#/app/user'> 
           Manage Users </ion-item>
         <ion-item ng-if="Admin" href='#/app/report'> 
           Report</ion-item>
         <ion-item ng-if="Admin" href='#/app/logout'>
           Logout</ion-item>

       <!-- Guest Side Menu -->
         <ion-item ng-if="!Admin" href='#/app/guestsettings'>
           Settings</ion-item>
         <ion-item ng-if="!Admin" href='#/app/gusetreport'> 
           Report</ion-item>
         <ion-item ng-if="!Admin" href='#/app/guestlogout'> 
           Logout</ion-item>
    </ion-content>
  </ion-side-menu>
</ion-side-menus>

我最终浏览了stackoverflow的答案,并发现了一篇关于拆分字符串的帖子,但我不明白。这是this问题。

使用此链接我将代码切换为:

keywordlist = ("pain", "suffering", "hurt")
question1 = input("how are you feeling?")
if question1.lower() in keywordlist:
    print("something here")

但我得到了错误:

if any(word in Question1 for word in keywordlist.split(",")):

我是Python的新手,需要精确方法的愚蠢版本才能做到这一点。

2 个答案:

答案 0 :(得分:2)

假设您希望用户输入一个句子并想要检查关键字列表中是否有任何单词:

keywordlist = ("pain", "suffering", "hurt")
question1 = input("how are you feeling?")
input_words=question1.lower().split()
for word in input_words:
    if word in keywordlist:
        print("something here")

if any(word in Question1 for word in keywordlist.split(",")):给出错误的原因是因为您在split()上调用了keywordlist方法,这是一个元组。所以错误告诉你你做错了什么。您想将输入拆分为单词,keywordlist已经包含分为单元组的单词。

答案 1 :(得分:0)

拆分字符串应该有效。您可以拆分空格,以便每个单词最终成为列表中的元素。像这样

keywordlist = ("pain", "suffering", "hurt")
question1 = input("how are you feeling?")
question_parts = question1.split(" ")
for part in question_parts:
    if part.lower() in keywordlist:
        print("something here")