2016-04-22 8 views
0

может ли кто-нибудь сказать мне, как печатать слово из списка после того, как программа их обнаружила?печать ключевых слов из списка

all_text = input("Please enter some text").lower().split() 
keyword_list = ["motorcycle","bike","cycle","dirtbike"] 
second_list = ["screen","cracked","scratched"] 

if any(word in keyword_list for word in all_text): 
    print("Keyword found") 
    if any(word in second_list for word in all_text): 
     print("Keyword found") 
elif any(word in second_list for word in all_text): 
    print("keyword found") 
+0

трудно распечатать данные, если вы его не сохранили. Почему бы не создать изначально пустой список 'found_words', который вы добавляете, когда найдете слово? Кроме того - такого рода вещи лучше выполнять с помощью 'sets', а не' list', но вы, возможно, еще не изучили наборы. –

ответ

0

Если я читаю это право вы хотите то же самое, если он в эфире list. Если вы хотите разбить его, вы можете просто сделать elif.

all_text = input("Please enter some text").lower().split() 

keyword_list = ["motorcycle","bike","cycle","dirtbike"] 

second_list = ["screen","cracked","scratched"] 


for word in all_text: 
    if word in second_list or word in keyword_list: 
    print("Keyword found " + word) 
0

Используя простой for цикл будет гораздо проще, чем any для решения этой задачи

all_text = input("Please enter some text").lower().split() 
keyword_list = ["motorcycle","bike","cycle","dirtbike"] 
second_list = ["screen","cracked","scratched"] 

for word in all_text: 
    # note that you can't use word in keyword_list 
    # because it'll also match bike with dirtbike etc. 
    for keyword in keyword_list: 
     if word == keyword: 
      print("Word " + word + "in first keyword list") 
      break 

    for keyword in second_list: 
     if word == keyword: 
      print("Word " + word + "in second keyword list") 
      break 
+0

спасибо lafexlos, что вы дали мне решение, необходимое для начала моей второй задачи программирования gcse :) – liv

0

Вы, кажется, имеют ручку на использование in в Python, но и для будущих читателей, отмечу, что в Python in может использоваться для неявного поиска списка и избегать второго цикла for при сравнении элементов в двух списках.

all_text = input("Please enter some text").lower().split() 
keyword_list = ["motorcycle","bike","cycle","dirtbike"] 
second_list = ["screen","cracked","scratched"] 

for word in all_text: 
    if word in keyword_list: 
     print("Word '{}' found in keyword_list".format(word)) 
    elif word in second_list: 
     print("Word '{}' found in second_list".format(word)) 

"может кто-нибудь сказать мне, как напечатать слово (...)"?

Python поддерживает по крайней мере, три способа динамического создания строк ...

printf -ish стиль, который, вероятно, выглядеть знакомым кодеров C:

>>> "Inserted word: %s" % "Hi!" 
'Inserted word: Hi!' 
>>> 

Использование strformat сек метод:

>>> "Inserted word: {}".format("Hi!") 
'Inserted word: Hi!' 
>>> 

(Ab) с помощью оператора +:

>>> "Inserted word: " + "Hi!" 
'Inserted word: Hi!' 
>>> 
Смежные вопросы