Python实现仅支持单数字输入的计算器无法正常运行如何解决
问题根因
input() 函数返回的是字符串类型,你直接截取equations[0]、equations[2]传入计算函数时,两个参数都是字符串,+运算符默认对字符串执行拼接操作,因此输入1+2时返回拼接结果12。
修复方案
只需要在传入参数时,将两个数字位的字符串转换为数值类型即可,修改后的代码如下:
def calculater(num1,operator,num2): if operator =="+": return (num1 + num2) elif operator =="/": return (num1 / num2) elif operator =="*": return (num1 * num2) elif operator =="-": return(num1 - num2) equations = input("Enter equation:") # 若需要支持小数计算,可把int替换为float final = calculater(int(equations[0]), equations[1], int(equations[2])) print(final)
可选优化(非必需)
函数名calculater为拼写失误,正确拼写为calculator,不影响运行可按需调整。
内容的提问来源于stack exchange,提问作者Bhorge TV
相关产品推荐
相关产品推荐

