Python 3.9检查输入是INT还是FLOAT



我正在逐步学习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。然后使用floatis_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")

最新更新