Python素数检查器不起作用

用户名

我正在尝试在Python 3.x中构建一个简单的质数检查器,但遇到了一些问题。我将发布我的代码,然后解释我的困难。

number = input("Please enter a number: ")

is_prime = True;

for factor in range(2, number):
    if number % factor == 0:
        is_prime = False;

if is_prime == True:
    print("%d is a prime number!") % number
else:
    print ("%d is NOT a prime number!") % number 

现在,当我运行以下代码时,出现此错误:

C:\ Users \ clark \ Documents \ Python Projects> python PrimeNumberChecker.py请输入一个数字:4追溯(最近一次通话是最后一次):文件“ PrimeNumberChecker.py”,第5行,因数在range(2,number)中:TypeError:'str'对象不能解释为整数

现在,由于我对Python的有限了解,我用来评估number变量的输入法应该返回一个整数,因此我不确定为什么它告诉我存在转换问题。任何人都可以对这里发生的事情有所了解吗?我是Python的新手。

谢谢

依塔尼

在Python 3.x中,您需要将变量转换numberint如下形式:

number = int(input("Please enter a number: "))

请参阅我的计算机上的两个Python版本中的以下两个示例:

在Python 3.4中:

>>> number = input("Please enter a number: ")
Please enter a number: 4
>>> type(number)
<class 'str'>

在Python 2.7中:

>>> number = input("Please enter a number: ")
Please enter a number: 4
>>> type(number)
<type 'int'>

请查看以下重要答案:如何在Python中将输入读取为整数?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章