# 判断是否为素数
def is_prime(data):
flag = True
int_list = []
if data > 1:
for i in range(2,data): # 查找除了1和其本身外,其他因子
if data % i == 0:
# print(data,'不是素数')
flag = False
int_list.append(i)
for i in range(2,data):
if data % i == 0:
return int_list
# else:
# print(data,'是素数')
return flag
# 找出指定范围内所有的素数
def range_sushu(data1,data2):
data_list = []
for num in range(data1,data2 + 1):
# 素数大于 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
data_list.append(num)
# print(num)
print("{}:{}指定范围内的素数列表为:{}".format(data1,data2,data_list))
return True
if __name__ == "__main__":
# 基础要求
number = input("请输入一个不大于1000的自然数:")
flag = is_prime(int(number))
if flag == True:
print("{}是一个素数".format(int(number)))
else:
print("{}不是一个素数".format(int(number)))
print("能整除该数的所有整数列表{}".format(flag))
# 高级要求
lim1,lim2 = eval(input("请输入两个不大于1000的自然数作为搜索范围:"))
if lim1 <= lim2:
range_sushu(lim1,lim2)
else:
range_sushu(lim2,lim1)
# print(lim1,lim2)