Python-如果字母中包含“好”字和“坏”字,请打印出来

时间:2018-11-18 18:48:42

标签: python for-loop if-statement

我有一个不好的单词要列出,一个好单词要列出。我的想法是首先搜索好词,然后查看字母中的哪个意思包含那些好词,但是如果该意思还包含一个坏词,那么它就不应打印出意思。

等:

Good word: "Lo", "Yes"
Bad word: "Hate", "Not"
text_roman: "Hello guys. My name is Lo and I hate to code :')"

意思是:“大家好。我叫Lo,我讨厌编码:')” <-“ 开个玩笑!

所以意思是,如果它搜索该意思,它应该告诉我们存在一个包含好意思的意思,然后检查它是否包含坏词。如果是这样,那么我们不想打印出含义,但是如果它不包含任何不良词,那么我们应该将其打印出来。

我尝试编码的方式是:

text_roman = "Hello guys. My name is Lo and I hate to code :')"
good_word = ["Lo", "Yes"]
bad_word = ["Hate", "Not"]
for text in good_word:
   if text in text_roman:
      print("Yay found word " + text_roman)
      for bad_text in bad_word:
         if bad_text not in text_roman:
             print("Yay no bad words!")

当我尝试这样做时,不幸的是,输出也给出了所有包含坏词的单词

1 个答案:

答案 0 :(得分:2)

我会先遍历坏词,然后跳过它们。然后,如果没有跳过,请检查一个好单词

good_word = ["Lo", "Yes"]
bad_word = ["Hate", "Not"]

has_bad = False
for b in bad_word:
   if b in text_roman:
       has_bad = True 
       continue
   for g in good_word:
      if g in text_roman:
          print("Yay found word " + g + " in text_roman")
if not has_bad:
    print("Yay no bad words!")

注意:in区分大小写,因此"Hate" in "I hate case-sensitivity"将为False