Python新手编写基础简易计算器运行问题排查求助
代码存在的问题及修复方案
- 无限递归错误
你将main()调用语句写在了main函数的内部缩进块中,导致程序每次执行完一次逻辑后都会再次调用main()本身,最终会因为递归深度超出Python默认限制触发RecursionError崩溃。
修复方法:将最后一行的main()取消缩进,和def main():保持同一层级,推荐用标准的Python程序入口写法:if __name__ == "__main__": main() - 除法无除零校验
当用户选择除法运算且输入的第二个数字为0时,代码会直接抛出ZeroDivisionError异常终止运行,没有友好提示。
修复参考:在执行除法前增加除数判断:elif operation == "/": if num2 == 0: print("错误:除数不能为0") else: print(div(num1, num2)) - 数字输入无类型容错
当用户输入非数字内容时,float(input(...))的类型转换会抛出ValueError导致程序崩溃,可通过异常捕获优化:try: num1 = float(input("Enter value for num1: ")) num2 = float(input("Enter value for num2: ")) except ValueError: print("请输入合法的数字")
内容的提问来源于stack exchange,提问作者Anti_Lolchik
相关产品推荐
相关产品推荐

