Python输入为小数时如何避免int函数生效的实现方法
Python 温度转换输入兼容小数解决方案
核心问题是当前使用的int()函数仅能转换整数格式的输入,输入带小数点的小数时会抛出类型错误。将int()替换为float()即可同时兼容整数、小数两种数字输入格式。
优化后完整代码
def google(): return 'Just google it you fool' def eq(): return '=' try: # 仅需将此处的int替换为float即可支持小数输入 cel = float(input("Enter celsius: ")) fahr = cel * 1.8 + 32 print(cel, "Celsius", eq(), fahr, "Fahrenheit") except ValueError: print("That's not a number") quit() except: print(google())
可选显示优化
如果希望输入为整数时,输出不显示.0的小数后缀,可以在计算完fahr之后、打印输出之前添加如下判断逻辑:
# 数值为整数时转换为int类型,优化显示效果 if cel.is_integer(): cel = int(cel) if fahr.is_integer(): fahr = int(fahr)
内容的提问来源于stack exchange,提问作者B1-Matias Ezra King
相关产品推荐
相关产品推荐

