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();
输入数字后,为什么会崩溃? 请帮忙,因为我是新手,不知道为什么?
答案 0 :(得分:2)
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不需要那些;
分号;您可以安全地从代码中删除它们。