首页 > 解决方案 > 循环和布尔值的 Python 列表

问题描述

我有几个问题。我已尽力想出一个输出,我很接近但并不完全正确。所以,我会很感激你的帮助。

Q1:

found = False
print('Before', found)
for value in [9, 41, 12, 3, 74, 15] : 
   if value == 3 :
       found = True
   print(found, value)
print('After', found)

输出:前 假 假 9 假 41 假 12 真 3 真 74 真 15 真后

所以,上面是我的输出,我只想在值为 3 时将其设为 True,但对于 74 和 15 也将变为 True。如何编辑代码以使其在 74 和 15 时返回 False?请帮忙。

标签: pythonloopsboolean

解决方案


只需将 else 语句设置为:

else:
       found = False

您收到错误是因为一旦在 3 之后将 found 的值更改为 True,则没有代码可以将其值更改回 False。


推荐阅读