如何在Python中使用if else判断输入值是否为float数据类型
问题原因
Python 的 input() 函数所有返回值默认都是字符串(str)类型,哪怕你输入的是12.1这类看起来是浮点数的内容,拿到的初始值也是"12.1"字符串,所以直接用type(c) == float判断永远为False,自然只会走else分支。
解决方法
你可以通过尝试类型转换+异常捕获的逻辑判断输入内容是否符合浮点数格式,符合要求就输出对应结果,示例代码如下:
c = input("Enter the value\n") try: # 尝试将输入内容转为float类型,转换不报错则说明是合法浮点数格式 float(c) print("it is float") except ValueError: # 转换抛出异常说明不是浮点数格式 print("it is not float")
如果后续需要使用转换后的浮点数,可以在try块中把转换结果赋值给变量保存:
c = input("Enter the value\n") try: c_float = float(c) print("it is float") # 后续可以直接使用c_float变量做数值计算 except ValueError: print("it is not float")
内容的提问来源于stack exchange,提问作者user16639239
相关产品推荐
相关产品推荐

