K = int(input())
m = int(input())
a = []
c = []
for i in range (1, K+1):
a.append(i)
for i in range(m):
b = int(input())
c.append(b)
for j in a:
for i in c:
if a[j] % c[i] == 0:
a.remove(a[j])
print(a)
目前给我的索引超出范围错误,但我没有看到它的错误。
答案 0 :(得分:2)
您在迭代时修改列表。一般来说,这不是一个好主意。
根问题与this question(以及通过搜索Stack Overflow可以找到的许多其他问题)相同。
此外,您还使用列表中的项目作为索引而不是项目本身。你可能意味着:
for j in a:
for i in c:
if j % i == 0:
...