我想查找列表的元素内是否包含特定的字符串。如果找到了字符串,我想打印出“找到字符串”,否则要打印“找不到字符串”。
但是,我想到的代码会多次打印“找不到字符串”。我知道原因,但是我不知道如何解决它,只打印其中一条消息。

animals=["dog.mouse.cow","horse.tiger.monkey",
         "badger.lion.chimp","trok.cat.    bee"]
      for i in animals :
          if "cat" in i:
              print("String found")
          else:
              print("String not found")

最佳答案

找到字符串后,在break块中添加if语句,并将else移至for循环的else。如果在这种情况下找到了字符串,则循环将中断并且永远不会到达else,如果循环没有制动,则将达到else并打印'String not found'

for i in animals:
    if 'cat' in i:
        print('String found')
        break
else:
    print('String not found')

关于python - 从for循环仅打印一次消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18763905/

10-12 07:33
查看更多