首页 > 解决方案 > 添加到列表(识别输入是否为素数)

问题描述

尝试编写函数“prime_check(number)”来测试参数是否为质数

给定数字的 number_of_factors 只能是 1(给定数字本身)和 '1',这已在 while 语句中排除

将变量添加到列表“set_of_factors”时遇到问题尝试在 Thonny 中进行调试,显示 set_of_factors = none

def prime_checker(number):

    set_of_factors=[]
    number_of_factors=len(set_of_factors)
    f=2

    while number > 1 and f<=number:
        if number%f == 0:
            set_of_factors.insert(0,1)
            f+=1            
        else:
            f+=1              
    if number_of_factors==1:
        print("It is a prime number")
    else:
        print("It is not a prime number")

n = int(input("Check this number: "))
prime_checker(number=n)

标签: python

解决方案


素数有两个因素,一个和它本身。前任。5 的因数是 (1, 5)

如果“.insert”也可以使用“.append”

    def prime_checker(number):

    set_of_factors=[]
    number_of_factors=len(set_of_factors)
    f=2
    while number > 1 and f<=number:
        if number%f == 0:
            set_of_factors.insert(0)
            f+=1            
        else:
            f+=1              
    if number_of_factors==2:
        print("It is a prime number")
    else:
        print("It is not a prime number")

推荐阅读