描述:获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
输入输出示例:
|
输入 |
输出 |
示例 1 |
12 |
13,17,19,23,29 |
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
既然要输出质数,那么首先就要编写一个判断数字是否是质数的函数
判断输入数字是否为质数
def decide_prime (n) :
if n == 1 :
return False
import math
i = 2
while (i != n):
if int (n) % i == 0 :
return False
i = i + 1
return True
算法很简单,这里就不再赘述。这里注意,1不讨论是否为质数,因此当作非质数处理,返回‘False’。
主函数:根据用户输入数字利用循环找出五个质数分别输出,在最后一次输出时不输出‘,’。只有找到质数时,才给i+1,保证输出的数字一定为5个
连续质数计算
import sys
sys.path.append('D:\\study\\python\\zhishu\\decide_prime')
import decide_prime as de
number = input("请输入任意数字")
number = float(number)
i = 0
while (i != 5) :
if de.decide_prime(int(number)) :
if i < 5:
print("{},".format(int(number)),end='')
else :
print("{}".format(int(number)))
i += 1
number += 1
由于我将主函数和子函数写到了两个文件夹里面,因此引用了sys.path.append()函数用来调用其他文件中的函数,这个方法也推荐给读者朋友们。
以下是运行结果:
在测试程序的时候,尽量多运行几次,试试不同的情况(尽量特殊一点),这样可以提高程序的准确性,也更容易发现bug