查找[m,n]范围内所有的素数(2≤m≤n≤1000,m和n为整数),并将结果以10个一
行的格式输出。
(1)自定义函数is Prime(n)来判断大于1的正整数n是否为素数。如果是,则函数返回
True,否则返回 False
(2)在主程序中调用isPrime(n)函数,查找m,n]范围内所有的素数,并将结果以10个
数字为一行的格式输出。
(3)输出的每个数字占3个字符宽度且要求使用“左对齐”格式。
(4)若输入不符合条件要求,则需要给出错误提醒,并重新输入。
2
def is_prime(n): # 判断参数 n 是否为素数的函数
"""判断素数,接受一个正整数n为参数,判断n是否为素数,返回布尔值"""
if n <= 1: # 小于2的数字都不是素数
return False
for i in range(2,n): # 根据素数定义判定是否是素数,是素数返回1
if n % i == 0: # 从 2到n-1中如果存在一个数是i,使n 可以整除i,则n不是素数
return False
else: # 若for循环未遇到return正常结束,则n是素数
return True
while 1:
try:
m=int(input("请输入区间【m,n】中的m:"))
n=int(input("请输入区间【m,n】中的n:"))
break
except:
print('输入错误')
index = 0
for i in range(m, n+1):
if is_prime(i):
print('{:<3}'.format(i), end=' ')
index += 1
if index%10==0:
print()