我正在尝试创建两个整数倍的两个列表。 for循环将打印倍数,但不会将这些倍数附加到其各自的列表中。如何将倍数添加到列表中?
integer1 = int(input('input integer1: '))
integer2 = int(input('input integer2: '))
multiple_list1 = []
multiple_list2 = []
def multiples(n, list):
list = []
for i in range(n*100):
if i % n == 0:
#print(i)
list.append(i)
print(multiples(integer1, multiple_list1))
print(multiples(integer2, multiple_list2))
答案 0 :(得分:1)
请勿在函数内重新分配list
。现在,该变量不再引用呼叫者的列表。
如果要先清空列表,请分配给一个切片。
def multiples(n, list):
list[:] = []
for i in range(n*100):
if i % n == 0:
#print(i)
list.append(i)
使用list
作为变量名也不是一个好主意,它掩盖了内置的类名。
顺便说一句,获取n
的所有倍数的更好方法是:
list[:] = range(0, n*100, n)