lsdsg 发表于 2021-7-1 20:38:04

求回文素数,为什么会出错呢

a=[]
for i in range(2,600):
    if str(i)==str(i)[::-1]:
      a.append(i)
for j in a:
    for k in range(2,j):
      if j%k==0:
            a.remove(j)
            break
print(a)

想输出一些回文素数,为什么结果是

wp231957 发表于 2021-7-1 20:47:33

在对列表进行遍历时不要进行a.remove(j)这个操作,会遇到各样莫名其妙的问题

lsdsg 发表于 2021-7-1 23:02:22

wp231957 发表于 2021-7-1 20:47
在对列表进行遍历时不要进行a.remove(j)这个操作,会遇到各样莫名其妙的问题

a=[]
for i in range(2,600):
    if str(i)==str(i)[::-1]:
      a.append(i)
b=a.copy()
for j in b:
    for k in range(2,j):
      if j%k==0:
            a.remove(j)
            break
print(a)

现在可了
页: [1]
查看完整版本: 求回文素数,为什么会出错呢