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

Python文本计算器开发问题:字符串转整数失败该如何解决?

问题解决:文本式计算器的字符串转数值运算问题

你的代码核心问题是**input()返回的是字符串类型**:直接用字符串做减法、除法、乘法会触发类型错误,加法则会变成字符串拼接(比如输入"2"+"3"会输出"23"而非5)。必须把输入的字符串转换为数值类型(整数或浮点数)后再执行算术运算。

修正后的代码

import math
# frstn 代表第一个数字
# scndn 代表第二个数字
op = input("请输入运算符: + - / *: ")
if op == "+":
    frstn = float(input("请输入第一个数字: "))
    scndn = float(input("请输入第二个数字: "))
    print(frstn + scndn)
elif op == "-":
    frstn = float(input("请输入第一个数字: "))
    scndn = float(input("请输入第二个数字: "))
    print(frstn - scndn)
elif op == "/":
    frstn = float(input("请输入第一个数字: "))
    scndn = float(input("请输入第二个数字: "))
    # 新增除数为0的错误处理
    if scndn == 0:
        print("错误:除数不能为0")
    else:
        print(frstn / scndn)
elif op == "*":
    frstn = float(input("请输入第一个数字: "))
    scndn = float(input("请输入第二个数字: "))
    print(frstn * scndn)
else:
    print("无效运算符,请重启计算器。")

关键说明

  • 用float()而非int()是为了支持小数运算,如果只需要整数计算,替换成int()即可。
  • 除法模块增加了除数为0的判断,避免程序运行时崩溃。
  • 所有输入的数字必须转换为数值类型,才能正确执行加减乘除的算术逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:01:12