我如何解决这个恼人的错误信息? (Python 3.6.1)
这个问题在这里已经有了答案:
改变你的第一行
usernum = int(input('Enter a number, Ill determine if its pos, neg, OR Zero.'))
就像你usernum
, usernum
是一个字符串值,因为input()
总是返回Python 3.x中的字符串,并且你试图将它与整数进行比较。 所以先把它转换成一个整数。 我通过用int()
类型转换来包围input
调用来做到这一点。
请注意,如果用户输入的不是整数,这会引发错误。 这可以通过异常处理来处理,而异常处理现在可能超出了你的范围。
尝试:
usernum = int(input('Enter a number, Ill determine if its pos, neg, OR Zero.'))
if usernum < 0:
print("Your number is negative.")
if usernum > 0:
print("Your number is positive.")
if usernum == 0:
print("Your number is zero.")
input(...)
创建字符串,所以你需要通过int(...)
来使该字符串成为一个整数。 另外我建议你把ifs改成if,elif和else:
usernum = int(input('Enter a number, Ill determine if its pos, neg, OR Zero.'))
if usernum < 0:
print("Your number is negative.")
elif usernum > 0:
print("Your number is positive.")
else:
print("Your number is zero.")
这不是什么大不了的事情,但这样你只能执行你实际需要的代码。 因此,如果usernum
小于0,则不评估下一个子句。 最后,您可以考虑添加用户输入错误更正:
usernum = None
while usernum is None:
try:
usernum = int(input('Enter a number, Ill determine if its pos, neg, OR Zero.'))
except ValueError as ex:
print("You didn't enter an integer. Please try again.")
if usernum < 0:
print("Your number is negative.")
if usernum > 0:
print("Your number is positive.")
if usernum == 0:
print("Your number is zero.")
链接地址: http://www.djcxy.com/p/48435.html
上一篇: How do I get around this annoying error message? (Python 3.6.1)