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

Python简易计算器:如何判断输入数值为整数或浮点数

简易计算器:识别整数/浮点数并输出对应结果

实现思路

用户输入的内容默认是字符串类型,我们需要先把字符串转换成整数或浮点数,再根据计算结果的类型输出对应格式的内容。核心步骤是:

  • 尝试将输入转为整数,失败则转为浮点数(同时处理无效输入的情况)
  • 计算后判断结果类型,整数直接输出,浮点数若为整数形式(如6.0)则转整数输出,否则保留小数输出

完整代码示例

def convert_to_number(input_str):
    # 先尝试转换为整数
    try:
        return int(input_str)
    except ValueError:
        # 转整数失败,尝试转换为浮点数
        try:
            return float(input_str)
        except ValueError:
            print("输入不是有效数字,请重新运行程序")
            exit()

# 获取用户输入
n1 = convert_to_number(input("请输入第一个数字: "))
n2 = convert_to_number(input("请输入第二个数字: "))

# 计算结果
result = n1 + n2

# 根据结果类型输出对应格式
if isinstance(result, int):
    print(result)
else:
    # 若浮点数是整数形式(如6.0),转为整数输出
    if result.is_integer():
        print(int(result))
    else:
        print(result)

代码说明

  1. 转换函数:convert_to_number先尝试把输入字符串转为int,因为整数输入(如"2")转int会成功;如果输入是小数(如"2.3"),转int会触发ValueError,这时再尝试转float。如果输入不是数字,会提示错误并退出。
  2. 结果判断:计算后,先判断结果是否为整数类型;如果是浮点数,用is_integer()检查是否为整数形式的浮点数(如6.0),是的话转成整数输出,否则直接输出浮点数,完全符合你要的效果:
    • 输入2和4 → 输出6
    • 输入2.3和4.2 → 输出6.5
    • 输入2.0和4.0 → 输出6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:20:29