python - 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
。然后使用is_integer()
方法float
来确定它是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")
推荐阅读
- python - Python Pandas 样式突出显示具有不同条件的每一列的特定单元格
- azure-cosmosdb-sqlapi - 在 Cosmos db sql api 中的文档中添加键
- tableau-api - Tableau:计算字段(获取第 n 个订单的日期)
- c# - 将 DateTimeOffset 与夏令时进行比较
- javascript - 根据条件提取和添加标签
- python - pyinstaller 在形成 python exe 时出错
- javascript - 如果函数参数可能是两种不同的类型,如何解决 TypeScript 错误?
- linux - 如何验证 USB 串行选项驱动程序是否适用于 arm-linux 板?
- java - Spark 中的 ClassCastException 读取 Teradata 和写入 Parquet
- python - 块大小是什么意思