【发布时间】:2017-08-10 15:05:10
【问题描述】:
我试图划分列表的每个元素以查看列表中的数字是否返回偶数。我想要的是将list_accepted_ant 中的偶数值附加到set_accepted_list。目前,当我打印值时,所有值都附加到set_accepted_list。任何帮助将不胜感激。
def DoIOpenTheDoor(list_ant_id):
list_accepted_ant = []
set_accepted_list = set()
set_forbidden_list = set()
set_list_ant_id = set(list_ant_id)
if len(list_accepted_ant) < num_accepted:
if len(list_ant_id) > 0:
list_accepted_ant.extend(list_ant_id[0:min(len(list_ant_id))
if (all(x % 2 == 0 for x in list_accepted_ant)):
list_accepted_ant.append(list_accepted_ant)
set_accepted_list = set(list_accepted_ant)
print "the set of even accepted ant-",(set_accepted_list)
print "the list of all ants-",(list_ant_id)
set_forbidden_list = set_list_ant_id-set_accepted_list
return set_accepted_list,set_list_ant_id,set_forbidden_list
这是我运行代码时的输出:
list_ant_id = [1082, 1091, 1055, 1057, 971, 977, 728, 740]
set_accepted_list = set([1057, 1091, 740, 971, 977, 728, 1082, 1055])
我期待的set_accepted_list = set([740,728,1082])
基本上我想要的是保持从 list_ant_id 到 set_accepted_list 的偶数值。
【问题讨论】:
-
if len(list_ant_id) > 0:后出现缩进错误 -
list_accepted_ant ==0是一个布尔值,而您正在尝试执行for x in那个....一个布尔值,因此您的错误