Python编程题11--找出100以内的质数
题目
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19。
请按照从小到大的顺序输出 100 以内的质数,质数之间以一个逗号区分(注意,最后一个数字之后不能有逗号)
实现思路
- 用第一层 for循环 控制100以内(除1外)的数,标记 i,并通过一个变量 flag 来判断是否为质数,默认为 True
- 用第二层 for循环 控制 i 以内(除1外)的数,标记 j
- 如果 i 能 整除 j ,那么就表示 i 不是质数,则将 flag 置为False
- 先把 i 转为字符串类型,再添加到列表中
- 对结果进行处理,通过
join()
方法用 "," 拼接
注意:使用 join()
拼接列表时,列表中的元素不能是 int
类型。
代码实现
def get_prime(n):
res = []
for i in range(2, n + 1):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
res.append(str(i))
return ", ".join(res)
res = get_prime(100)
print("100以内的质数有:{}".format(res))
更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)
作者:wintest
本文版权归作者和博客园共有,欢迎转载,但必须在文章页面明显位置给出原文链接,并保留此段声明,否则保留追究法律责任的权利。