Python - 输出所有小于等于N的素数,N为一个大于2的数。要求每行输出十个数

直接上代码

#输出N以内的所有素数,并每行输出10个

import math

def print_prime():
    n = int(input("请输入一个大于2的正整数:"))
    m = 3
    flag = True
    index = 0
    if n < 3:
        print('您输入的数字有误,请重新输入!')
        print_prime()
    else:
        while m <= n:
            for i in range(2, int(math.sqrt(m))+2):
                if m % i == 0:
                    flag = False
                    break
                else:
                    flag = True
            if flag:
                index += 1
                print(m, end='\t')
                if index % 10 == 0:
                    print()
            m += 1

if __name__ == '__main__':
    print_prime()

运行结果如下:

  • 输入一个小于3的数:
请输入一个大于2的正整数:2
您输入的数字有误,请重新输入!
请输入一个大于2的正整数:1
您输入的数字有误,请重新输入!
请输入一个大于2的正整数:6
3   5   
Process finished with exit code 0
  • 输入一个大于3的数:
请输入一个大于2的正整数:100
3   5   7   11  13  17  19  23  29  31  
37  41  43  47  53  59  61  67  71  73  
79  83  89  97  
Process finished with exit code 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。