【发布时间】:2019-10-23 17:52:22
【问题描述】:
我正在为每个人使用 Python,但我被困在了这个路口。在我看来,我已经说过 ValueError 只有在 'num' 不是整数时才会被引发。但是,当我运行代码时,无论输入如何,每次都会引发错误。任何人都可以将我推向正确的方向吗?
广泛地用谷歌搜索,但我不太确定我应该用谷歌搜索什么……
largest = None
smallest = None
while True:
try:
num = input("Enter a number: ")
if num != int : raise ValueError
elif num == "done" : break
except ValueError:
print("Error. Please enter an integer or type 'done' to run the program.")
quit()
print("Maximum", largest)
print("Minimum", smallest)
即使输入是整数,代码也总是会引发 ValueError。
【问题讨论】:
-
input()总是返回一个字符串 -
可能是一个字符串。
-
即使是整数,也和类型
int不同。 -
您的意思可能是
if not isinstance(num, int),但也总是如此,因为input总是返回一个字符串。 -
num != int是相等比较,而不是类型检查。
标签: python python-3.x