m0_61530986 2022-07-07 17:03 采纳率: 50%
浏览 127
已结题

Python 加法运算时的结果是合并而不是相加

问题遇到的现象和发生背景

我是一个 Python 初学者,自学了几周 Python,我想自己写一个计算器试试,但是我让它算 1+1 时一直算出来 11,这是相关函数:
def jiafa(a,b):
return a + b
我看了一些教程,上面都是用这种方法计算的,可是我再用的时候却把加数1和加数2合并了,而不是进行数字相加。
我是真的不知道应该怎么办了,你们能帮我看一下吗?谢谢!我是个 Python 初学者,如果错误很可笑,勿喷。
环境:Windows 10 专业版
Python 版本:3.9.10

问题相关代码,请勿粘贴截图

(未完成,加法存在问题)
while True:
def jiafa(a,b):
return a + b
print("选择你将要使用的模式")
print("1:加法计算")
print("2:减法计算")
print("3:乘法计算")
print("4:除法计算")
mode=input("选择你的模式:")
if mode=="1":
num1=input("输入加数1:")
num2=input("输入加数2:")
print(jiafa(num1,num2))
elif mode=="2":
print(mode)
elif mode=="3":
print(mode)
elif mode=="4":
print(mode)
else:
print("请选择正确的模式!")

运行结果及报错内容

img


输出:
选择你将要使用的模式
1:加法计算
2:减法计算
3:乘法计算
4:除法计算
选择你的模式 :1
输入加数1 :1
输入加数2 :1
11

我的解答思路和尝试过的方法

我尝试换另一种方法,不使用函数,直接使用变量,但是问题仍然存在。
我甚至还重写了一遍,但是仍旧是这个结果

我想要达到的结果

正确测算出加法

  • 写回答

1条回答 默认 最新

  • 快乐小土狗 2022-07-07 17:18
    关注

    使用input()函数输入得到的值是str类型的,
    字符串相加是进行拼接,入 ‘1’ + ‘1’ = ‘11’
    你得进行转换
    num1=int(input("输入加数1:"))
    num2=int(input("输入加数2:"))
    这样num1和num2的值就是int类型的,就能进行加运算

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月15日
  • 已采纳回答 7月7日
  • 创建了问题 7月7日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么