python这道题不知道为什么这样子不对…

计算1~n之间的素数并输出

n=eval(input())
for i in range(2,n+1):
for k in range(2,n):
if i%k==0:
break
else:
print(i)


n=eval(input())
for i in range(2,n+1):
  for k in range(2,i):
    if (i%k==0):
      break  
  if(k==i):
    print(i)

第二个for 里面 n 应该是 i 吧。

你还得在第二个循环外设个f记录是否被整除,缩进要搞对

n=eval(input())
for i in range(2,n+1):
    f=1
    for k in range(2,i):
        if (i%k==0):
            f=0
            break  
    if(f==1):
        print(i)

n=eval(input())
for i in range(2,n+1):
    for k in range(2,n):
        if i%k==0:
            break
        else:
            print(i)

这样写完全没有问题啊