python - 从 for 循环中仅打印一次消息

标签 python for-loop

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

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")

~

最佳答案

找到字符串时在if block 中添加break语句,将else移动到else for 循环。如果在这种情况下找到字符串,循环将中断,永远不会到达 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/

相关文章:

python - 微软图形 API : Authorization_IdentityNotFound

python - 使用 Freebusy 到 'primary' 以外的其他日历

python - 如何使用 matplotlib 和 seaborn 在绘制的值上显示轴刻度标签?

r - 有没有办法使用 dplyr 根据除以另一列的 group_by 来创建新列?

python - 根据 Python 中的月份列表制作列表

python - 如何使用经过训练的神经网络(Tensorflow 2.0,回归分析)预测新数据?

javascript - `for of` JavaScript 语句的支持情况如何?

python - 计算数组中的元音

javascript - Javascript 数组中偶数的总和?

python - 文件是否已关闭或仍在内存中?