我正在尝试在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中,您需要将变量转换number
为int
如下形式:
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] 删除。
我来说两句