我该如何在Python中比较变量类型?
我该如何在Python中比较变量类型?
这个问题已经有了答案::
我正在编写一个简单的程序,它会询问天气和温度,并输出用户应该穿什么衣服。但是,我已经到了想确保用户不能输入\"g\"度或任何其他字符串的地步。有没有一种简单的方法来比较变量类型?换句话说,是否有类似于:
if (type(temp) == 'str'): print("Invalid. Try again.")
或类似的不太复杂的东西?就我个人而言,我可以使用高级功能和诸如此类的东西,但看起来对我的计算机科学老师来说很可疑。
admin 更改状态以发布 2023年5月21日
考虑到大多数人在这种情况下会怎么做(假设是 Python 3):
temp = int(input("Enter a numerical input: "))
如果我们得到的输入不是数字,我们将遇到ValueError
。 知道这一点后,我们应该...捕获它:
try: temp = int(input("Enter a numerical input: ")) except ValueError as e: print("Invalid input - please enter a whole number!");
不要玩弄类型检查,因为这会使您的代码稍微不那么 Pythonic。 相反,不要担心这段代码可能会出问题; 如果确实出现问题,请捕获异常并稍后处理后果。