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

Python初学者基础计算器问题求助:字符串拼接与类型错误

解决Python基础计算器的两个问题

问题根源:input()函数获取的用户输入默认是字符串类型,直接对字符串做算术运算或拼接会导致你遇到的问题。

1. 加法运算数字被拼接而非相加

你的代码(first_num+'+'+second_num+'='+(first_num)+(second_num))里,first_num和second_num都是字符串,+对字符串来说是拼接操作,所以会得到53而非算术相加的结果。

解决方法:先把字符串转成数值类型(整数用int(),小数用float()),计算出结果后再转成字符串拼接输出:

# 正确的加法输出代码
result = int(first_num) + int(second_num)
output = f"{first_num}+{second_num}={result}"
print(output)

或者直接在拼接时转换:

print(first_num+'+'+second_num+'='+str(int(first_num)+int(second_num)))

2. 减法运算抛出类型错误

报错unsupported operand type '-' for str and str是因为Python不支持字符串之间的减法操作,你需要先把输入的字符串转成数值类型再运算。

解决方法:参考加法的处理逻辑,转换类型后执行减法:

# 正确的减法运算代码
result = int(first_num) - int(second_num)
print(f"{first_num}-{second_num}={result}")

完整示例代码

如果想从输入阶段就避免类型问题,可以在获取输入时直接转换:

# 获取并转换输入
first_num = int(input("请输入第一个数字:"))
second_num = int(input("请输入第二个数字:"))
op = input("请输入运算操作(+/-):")

# 根据运算操作计算并输出
if op == '+':
    res = first_num + second_num
    print(f"{first_num} + {second_num} = {res}")
elif op == '-':
    res = first_num - second_num
    print(f"{first_num} - {second_num} = {res}")
else:
    print("仅支持加法和减法运算")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:55:19