程序运行时不会更新变量mult。这段代码有什么问题?运行结果显示循环实际上正如我所希望的那样工作,但是对于列表更新和最终打印
number = 18
for i in range(int(number/2)):
i += 1
mults = []
if number % i == 0:
mults = mults.append(i)
print(i)
elif number % i != 0:
pass
elif i == int(number/2):
print(mults)
使用其他代码我收到错误:AttributeError:' NoneType'对象没有属性'追加'
number = 18
mults = []
for i in range(int(number/2)):
i += 1
if number % i == 0:
mults = mults.append(i)
print(i)
elif number % i != 0:
pass
print(mults)
答案 0 :(得分:0)
number = 18
mults = []
for i in range(int(number/2)):
i += 1
if number % i == 0:
mults.append(i)
print(i)
elif number % i != 0:
pass
print(mults)
很少有注意事项,将mults
移到for循环之外,这样每次循环运行时都不会写它。
当for循环完成时,你不需要那个最后的elif语句,只是print(mults)
,基本上是最后一个elif语句。
mults.append(i)
符合标准,意味着它会自动更改列表mults
,您无需重新分配。