我目前正在学习Python,并且不了解很多 - 所以我需要有经验的人来帮助我。
代码是这样的:
usernum = 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.")
错误是这样的:
Traceback (most recent call last):
File "C:\Users\Admin\Documents\Test.py", line 2, in <module>
if usernum < 0:
TypeError: '<' not supported between instances of 'str' and 'int'
答案 0 :(得分:1)
尝试:
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(...)
来使该字符串成为整数。另外我建议你把if if if if if ifif,elif和其他:
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.")
答案 1 :(得分:0)
将第一行更改为
usernum = int(input('Enter a number, Ill determine if its pos, neg, OR Zero.'))
正如您所知,usernum
是一个字符串值,因为input()
总是返回Python 3.x中的字符串,并且您试图将它与整数进行比较。所以首先将它转换为整数。我通过使用input
类型转换围绕int()
调用来完成此操作。
请注意,如果用户输入的不是整数,则会引发错误。这可以通过异常处理来处理,现在可能已经超出了你的范围。