Python计算器程序求和功能异常求助:输入数字无法正确相加
你的Python计算器相加问题解析
嘿,我帮你梳理下代码里的问题,其实都是新手容易踩的类型转换小坑:
第一个问题:input获取的是字符串,直接相加是拼接而非数值求和
input()函数返回的默认是字符串类型,所以你直接写c = a + b的时候,比如输入5和3,得到的是字符串"53",而不是数值8。第二个问题:错误的计算逻辑
你写的int(c) == "a + b"这行完全没有意义——这是在做一个无意义的比较(判断转成整数的c是否等于字符串"a + b"),既没有完成求和计算,也没有把结果赋值给任何变量。第三个问题:输出时的类型不匹配
就算得到了数值结果,直接和字符串'Answer: '拼接会报错,需要把数值转成字符串,或者用更简洁的格式化方式。
修正后的代码
a = input('Enter number A \n') d = input('Enter sign operations \n') b = input('Enter number B \n') if d == "+": # 先把输入的字符串转成整数,再做加法运算 c = int(a) + int(b) # 用f-string格式化输出,自动处理类型转换,避免拼接报错 print(f'Answer: {c}')
额外优化建议
如果想让程序更健壮,可以考虑:
- 加入异常处理,捕获用户输入非数字的情况(比如用
try-except语句) - 扩展支持减法、乘法、除法等更多运算符号
内容的提问来源于stack exchange,提问作者KypuJIKa
相关产品推荐
相关产品推荐

