Python编写计算器时elif op == " / "行出现报错该如何修复?
Python计算器代码报错修复方案
报错原因
- 缩进语法错误:Python 要求同条件分支的
if/elif/else必须保持相同的缩进层级,原代码从第二个elif开始缩进量过大,被嵌套进了前面op == "-"的分支内部,直接触发语法报错。 - 运算符匹配逻辑错误:
elif op == " / "判断的是前后带空格的斜杠,用户正常输入运算符不会额外加空格,会导致输入/也无法匹配到对应分支。 - 字符串语法错误:最后
print中的提示文本没有用引号包裹,属于非法语法。 - 冗余代码:导入的
math库全程未被使用,可直接删除(不删除也不会触发报错)。
修复后完整代码
num1 = float(input("Enter number: ")) num2 = float(input("Enter second number: ")) op = input("Enter operator: ") if op == "+": print(num1 + num2) elif op == "-": print(num1 - num2) elif op == "/": print(num1 / num2) elif op == "*": print(num1 * num2) else: print("enter the right operator -,+,/,*")
可选优化
如果需要避免用户输入除数为0时触发运算报错,可在除法分支添加判断逻辑:
elif op == "/": if num2 == 0: print("除数不能为0") else: print(num1 / num2)
内容的提问来源于stack exchange,提问作者procode
相关产品推荐
相关产品推荐

