题目:获得用户输入数字N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
注意:需要考虑用户输入的数字N可能是浮点数,应对输入取整数;最后一个输出后不用逗号。
#zhishu.py
def prime(m):
#定义一个函数,用来判断一个数是不是质数,如果是,返回"Ture"
for i in range(0,m):
if m==0:
break
elif i==0 or i==1:
continue
else:
c=m%i
if c==0:
break
else:
return "Ture"
n = eval(input())
if n!=int(n):
#判断输出是不是整数,如果不是,要用进一法求得起始数
n=int(n)+1
counter=0
ls=list()
while counter<5: #循环语句,找到5个符合要求的质数并输出
if prime(n):
ls.append(n)
counter+=1
if counter==5: #满足输出的要求
print("{}".format(n),end=" ")
else:
print("{},".format(n),end=" ")
n+=1
else:
n+=1
输入8,运行结果
11 13 17 19 23
这个代码注意:
(1) 需要对输入小数情况进行判断,获取超过该输入的最小整数(这里没用floor()函数);
(2) 对输出格式进行判断,最后一个输出后不增加逗号(这里没用.join()方法)。