import math
m=input('请输入一个正整数:sdf')
n=int(m)
while True:
n+=1
print(n)
f=True
a=2
while a<=int(math.sqrt(n)):
if n%a==0:
f=False
break
a+=1
if f:
print('大于%s的最小素数是%s'%(m,n))
breakimport math
def is_prime(n):
if n % 2 == 0:
return False
for i in range(3, int(math.sqrt(n))+2, 2):
if n % i == 0:
return False
return True
def main():
m = n = int(input('请输入一个正整数'))
while True:
n += 1
if is_prime(n):
print(f'大于{m}的最小素数是{n}')
return
if __name__ == '__main__':
main()
第一个是因为你把第15行中的英文%打成中文的%, 我直接复制了你的代码而报错。
第二个是因为第6行中没有把math.sqrt运算后的float转为int。(PS:第二个要python3.6以上版本才能运行)
所以,你不能只是照搬,要看懂程序、会调试啊。