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

时间:2015-07-11 08:55:04

标签: python primes

我有代码检查数字是否为素数或注释

此代码中的问题:

当我运行它时给出我的错误:

看一下代码:

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'

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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")