You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python计算器如何根据输入数值类型动态输出带/不带小数的结果

解决方案

核心逻辑

  • 原有输入转float的逻辑不需要改动,依然可以避免非数字输入触发的ValueError
  • 新增对计算结果的格式判断:使用float.is_integer()内置方法检测结果是否本质为整数
  • 检测结果为真时转int输出,避免.0后缀;为假时直接输出原始浮点结果即可
  • 后续如果需要扩展乘除运算,仅需新增对应运算分支即可,输出格式化逻辑无需修改

修改后完整代码

num_1 = float(input("\nEnter first number: "))
opr = input("Enter math operator: ")
num_2 = float(input("Enter second number: "))

if opr == "+":
    res = num_1 + num_2
elif opr == "-":
    res = num_1 - num_2
else:
    print("Invalid math operator")
    exit()

# 按要求格式化输出
print(int(res) if res.is_integer() else res)

效果验证

  • 输入2、+、2:输出4,而非4.0
  • 输入2.5、+、3:输出5.5,符合带小数的需求
  • 输入10、-、3.2:输出6.8,符合预期

内容的提问来源于stack exchange,提问作者CoreVisional

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:36:04