【作业】判断某个数是否是素数,返回结果

1.什么叫素数

  素数即质数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

  首先说下自己的思路吧,方法不是唯一的,我也是初学者,只能在自己的认知下做一个解答过程,当然,也肯定有比我更优秀的解题方案,这个点需要肯定。

  1. 首先获取用户输入的数字n: input()
  2. 判断用户输入的数字 大于2和小于2的情况:过滤0和1
  3. 用range()函数遍历:2为起值,n为终值,恰好左闭右开原则,过滤掉1和n本身
  4. 如果range()遍历元素中有能整除n的,添加到列表list_num中
  5. 判断len(list_num)是否大于0

  下面附上代码(非最优秀的代码):

# 判断某个数是否是素数(质数),返回结果
# 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
value = input('请输入一个自然数:')
n = int(value)
# 0 1不是素数
if n < 2:
    print('您输入的数不是素数')
else:
    # 定义一个列表存储可以整除的n的数字
    list_num = []
    for i in range(2, n):
        if n % i == 0:
            # 能整除就添加到列表里去
            list_num.append(i)
    # 本身已经有1和n本身能整数n了,如果列表长度大于0,那就不是素数否则就是
    if len(list_num) > 0:
        print('您输入的数不是素数,因为除1和本身外它还可以被'+ str(list_num) + '整除')
    else:
        print('您输入的数是素数')

  输出结果:

 

 

 

posted @ 2019-12-04 15:09  清酒伴歌谣  阅读(730)  评论(0编辑  收藏  举报