我使用Python)我必须使用filter()创建一个列表,其中包含从1到100(包括)的所有数字,这些数字可以除以7、9和42。我写了这段代码,但是,当我启动它时,它并没有给我正确的解决方案。你知道问题出在哪里吗
listnumbers = []
for x in range (1, 101):
x = str(x)
listnumbers.append(x)
print (listnumbers)
def dividable(k):
for t in k:
if int(t) % 7 == 0:
return True
if int(t) % 9 == 0:
return True
if int(t) % 42 == 0:
return True
else:
return False
return dividable
s2u = list(filter(dividable, listnumbers))
for q in s2u:
print(q)
根据你的问题陈述,这个数字应该可以被7和9和42整除
只要看看你的代码,我认为
dividable(k)
写得不正确。更新至:为什么在这个方法中声明了for外观?如果它通过了其余的条件,为什么它会在最后返回函数呢
相关问题 更多 >
编程相关推荐