【发布时间】:2019-07-30 10:43:23
【问题描述】:
我写了以下代码:
list_1 = [5, 18, 3]
list_2 = []
for element in list_1:
if element < 0:
list_2.append(element)
elif element % 9 == 0:
list_2.append(element)
elif element % 2 != 0:
list_2.append(element)
else:
print('No number is valid')
print(list_2)
问题在于,这会返回一个至少满足三个条件之一的数字列表。
我想要的结果是满足所有三个条件的数字列表。我怎样才能做到这一点?
【问题讨论】:
-
@MartijnPieters
and,实际上。他们说他们希望元素满足所有 3 个条件。 -
@Aran-Fey:确实,我在那里读的还不够远。
-
@MartijnPieters 是的!但问题是使用
or,获得的返回是具有至少满足其中一个条件的数字的列表。我想知道是否可以做相反的事情,获取同时满足所有条件的数字的列表。 -
@Amartin:
or的反义词是and。 -
我已经稍微整理了一下这个问题,但是我不确定你什么时候想要打印“No number is valid”,所以我把那一点省略了。如果它很重要,请随时将其放回原处。
标签: python python-3.x list if-statement logical-and