Python 3.4简易计算器加法异常:输入1+1得到11而非2
解决你的Python简易计算器加法错误问题
嘿,这绝对是Python新手最容易踩的坑之一!我来帮你捋清楚问题出在哪:
问题根源
你用input()获取的用户输入,默认是字符串类型——哪怕你输入的是数字,Python也会把它当成一串字符来处理。所以当你输入1和1时,numOne和numTwo实际是字符串"1"和"1",执行numOne + numTwo的时候,Python做的是字符串拼接,而不是数字加法,结果自然是"11"而不是你想要的2啦。
修复方案
只需要把输入的字符串转换成数字类型就行,用int()函数转整数,或者float()转浮点数(如果需要支持小数计算)。修改后的代码如下:
numOne = int(input("what is ur first number:- ")) numTwo = int(input("what is ur second number:- ")) add = numOne + numTwo print(add)
如果你的计算器需要处理小数运算,把int()换成float()就可以,比如输入2.5 + 3.5会得到正确的6.0。
小提示(可选进阶)
如果用户输入了非数字内容(比如字母),int()或float()会直接报错。要是想让计算器更健壮,可以加个异常处理逻辑,不过作为简易版本,先解决加法问题就足够啦~
内容的提问来源于stack exchange,提问作者HipsterSamurai
相关产品推荐
相关产品推荐

