在python 3.7.4中计算除数以检测素数

在python 3.7.4中计算除数以检测素数,python,Python,我试图自己编写一个代码来检测素数,但不小心,我发现这个代码工作得很好: def prime_number_check(inp): setp = [ ] res = [ ] count = 0 for x in range(1, inp): setp.append(x) print(setp) #just to control the set for y in setp: #set of dividers if inp

我试图自己编写一个代码来检测素数,但不小心,我发现这个代码工作得很好:

def prime_number_check(inp):
    setp = [ ]
    res = [ ]
    count = 0
    for x in range(1, inp):
        setp.append(x)
    print(setp) #just to control the set
    for y in setp: #set of dividers
        if inp % setp[y-1] == 0:
            res.append(setp[y-1])
        else:
            continue
    print(res) #just to control the set
    for z in res:
        count += 1
    if count > 1:
        print(inp, "is not a prime number!")
    else:
        print(inp, "is a prime number!")
我尝试将输入的数字(将检查它是否为素数)除以比自身小的数字,并希望检测结果集是否有浮点结果或int结果,然后使用
res.remove()
,删除浮点结果,然后如果有int结果而不是1,则打印
而不是素数
,否则打印
prime
,但我失败了;而是找到了这个计算除数的代码


您能帮我找出如何在列表中进行float/int检查并返回结果吗?我试过
bool()
,和
isinstance()
,但总是在可写性方面出错。

你说的“浮点除数”是什么意思?每个数都有无穷多个浮点数。例如,毫无疑问被认为是素数的数字3可以被1.5和2除,或者被1.2和2.5除,或者被1.1和2.7272除。查找“浮点除数”没有任何意义。例如,一行代码检测素数
print(len([i代表范围内的i(1,n+1),如果n%i==0]);用户输入8,我的集合得到1到7的数字列表:[1,2,3,4,5,6,7],然后,使用for循环,我将输入数字(本例中为8)除以该集合的成员,即[1,2,3,4,5,6,7],然后将这些除法的结果附加到“另一个集合”,“结果集”,然后变成[8,4,2.666,2,1.6,1.333,1.142]。然后,我想检查这个结果列表,.remove()所有浮点值都只保留整数,如果有另一个整数与输入数本身不同,则输入数不是素数,否则是素数。。