描述
补充编程模板中代码,完成如下功能:
获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
输入输出示例
输入 | 输出 | |
示例 1 | | |
解析思路:
1、N要是整数,如果是浮点数,要转换成比自己大的最小的整数
a = int(n)
a = a + 1 if a < n else a
2、输出正好5个质数,定义一个计数器
count = 5
3、判断是否是质数,写个函数prime()
4、根据返回值是否是质数a都要+1,如果是质数,count-1
5、输出时最后一个不带逗号,其他都带
(1)
t = ""
...
t += "{},".format(str(a))
...
print(t[:-1]) #最后一个字符,不输出
(2)
t = []
...
t.append(str(a))
...
print(','.join(t))
#使用列表的方式输出带有逗号的5个质数,最后用一个','.join(str)就可以了
代码如下:
#ContinuousPrimeNumCal.py
def prime(m):
flag = 0 #定义一个标记,便于根据返回值判断是否是质数
for i in range(2,m):
if m % i == 0:
flag = 1
break
return flag
n = eval(input())
a = int(n) #强制转换为整数
a = a + 1 if a < n else a #输出一个比n本身要大的整数,
#切记前面的a = a + 1不要写成a += 1,输出会不对的
count = 5 #用于成功输出一个符合要求的质数的计数器
t = ""
while count > 0:
if prime(a) == 0:
t += "{},".format(str(a))
count -= 1 #只有是质数方可减一
a += 1 #无论是否是质数均加一
print(t[:-1])