检查数字是否为质数的代码

code that check if number is prime number

我有代码可以检查数字是素数还是音符

当我 运行 它给我一个错误

我的代码:

a = int (input("your numbre :"))
b = range(1,a+1)
if a%b == 0:
    for i in b :
        if b == a or b == 1:
            print("the numbre you input is prim number")
else:
    print("the nmubre you input is note prem numbre")

产生的错误:

Traceback (most recent call last):
  File "C:\Users\admin\Desktop\chap8ex2.py", line 3, in <module>
    if a%b == 0:
TypeError: unsupported operand type(s) for %: 'int' and 'range'

range 函数在其参数之间创建一个数字数组。 例如:

>>> range(1, 4)
=> [1, 2, 3]

在您的代码中,您说的是 a%b,这是在用户输入的数字和范围对象之间找到余数。将范围对象视为 python 列表。所以你所做的是 5 % [1, 2, 3] 这没有意义。检查此单独的线程以了解如何在 python 中实现质数检查器。 Python Prime number checker

a = int (input("your numbre :"))
b = range(1,a+1)
for i in b :
    if b == a or b == 1:
        if a%b!=0:
            print("the number you input is prim number")
else:
    print("the number you input is not a prime number")