查找实现特殊运算规则计算器的Python代码存在的错误
计算器代码错误排查与修复
存在的核心问题
- 变量赋值逻辑错误:原代码中
a、b、c三个变量初始存储的都是输入提示文本,用户输入的数值、运算符仅做了打印输出,没有保存到变量中,后续条件判断的对象是提示文本而非用户输入内容,所有特殊判断分支永远不会触发。 - 类型不匹配问题:
input()函数默认返回字符串类型,即便保存了用户输入的数值内容,也需要转换为int类型后才能和数字56、9等做相等判断。 - 常规运算逻辑缺失:原代码else分支直接输出输入错误,不符合“其余运算均可正确求解”的需求,需要补充常规加减乘除的计算逻辑。
修正后代码示例
# 读取用户输入并完成类型转换、变量存储 num1 = int(input("enter first number:")) num2 = int(input("enter second number:")) operator = input("enter your operator:") # 优先匹配三个特殊运算规则 if num1 == 56 and num2 == 9 and operator == "+": print(77) elif num1 == 45 and num2 == 3 and operator == "*": print(555) elif num1 == 56 and num2 == 6 and operator == "/": print(4) else: # 执行常规运算 if operator == "+": print(num1 + num2) elif operator == "-": print(num1 - num2) elif operator == "*": print(num1 * num2) elif operator == "/": if num2 == 0: print("error: divisor cannot be zero") else: print(num1 / num2) else: print("error! check your input")
内容的提问来源于stack exchange,提问作者user16278957
相关产品推荐
相关产品推荐

