我正在逐步学习Python,使用3.9版本。
我想检查input((是INT还是FLOAT,我有下面的脚本,但无论我输入什么,第一个if都会运行。
i = input("Please enter a value: ")
if not isinstance(i, int) or not isinstance(i, float):
print("THis is NOT an Integer or FLOAT")
elif isinstance(i, int) or isinstance(i, float):
print("THis is an Integer or FLOAT")
有人能解释一下我做错了什么吗
您可以用这样的东西进行检查。获取输入并将其转换为浮点值。如果它引发值错误,则它不是float/int
。然后使用float
的is_integer()
方法来确定它是int还是float
测试用例
-22.0 -> INT
22.1 -> FLOAT
ab -> STRING
-22 -> INT
代码:
i = input("Please enter a value: ")
try:
if float(i).is_integer():
print("integer")
else:
print("float")
except ValueError:
print("not integer or float")