为何数字相加功能失效?返回值相关问题排查
问题排查与解决方案
错误原因
你的代码里,拿到对应运算函数后没有执行调用操作,反而把变量count重新赋值成了元组(num1, num2),所以最终输出的是元组而非计算结果。
具体错误代码段:
count = symbols[symbol] count = (num1, num2)
第一行已经获取到了plus函数,但第二行直接覆盖了count的值,完全没触发函数的执行逻辑。
修正后的代码
def plus(num1, num2): return num1 + num2 symbols = { "+":plus } num1 = int(input(": ")) num2 = int(input(": ")) symbol = input("symbol: ") # 获取对应函数并传入参数调用 count = symbols[symbol](num1, num2) print(count)
扩展说明
如果后续要新增减、乘、除等运算,只需添加对应函数并更新symbols字典即可,示例:
def minus(num1, num2): return num1 - num2 def multiply(num1, num2): return num1 * num2 symbols = { "+":plus, "-":minus, "*":multiply }
内容的提问来源于stack exchange,提问作者Wheel Orange
相关产品推荐
相关产品推荐

