为什么程序崩溃

时间:2015-03-08 02:25:34

标签: python

print ("Prime number tester");
number = input("Enter number: ");
x = 2;
y = 0;

while (x < number):
    if number % x == 0:
        y = y + 1;
        x = x + 1;
    else:
        x = x + 1;



if (y == 0):
    print (number, "is prime.");
else:
    print (number, "isn't prime.");
input();

输入数字后,为什么会崩溃? 请帮忙,因为我是新手,不知道为什么?

1 个答案:

答案 0 :(得分:2)

Python 3中的

input()返回字符串。您无法将数字与字符串进行比较:

>>> '10' < 10
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() < int()

首先将输入转换为整数:

number = int(input("Enter number: "))

如果用户未输入有效号码,则int()来电会引发ValueError。根据您想要执行的错误处理量,您可能希望捕获该异常。有关该如何运作的详情,请参阅Asking the user for input until they give a valid response

Python不需要那些;分号;您可以安全地从代码中删除它们。