Python简单数学计算脚本结果异常,请求问题排查
Python脚本数学计算错误修复
原脚本核心问题是首次循环未初始化计算起始值,导致最终结果错误,同时存在变量命名混乱、冗余变量过多的问题,影响可读性与维护性。以下是修复后的代码及详细说明:
修复后的代码
import random # 初始化变量 total = 0 loop_count = 0 last_operator = "e" # 标记首次循环 operators = ["+", "-"] expression_parts = [] while True: num = random.randint(0, 9) op = random.choice(operators) # 将数字和操作符加入表达式列表 expression_parts.append(num) expression_parts.append(op) # 计算逻辑 if last_operator == "e": # 首次循环:将第一个数字作为计算起始值 total = num print(f"debug: 首次循环,初始值设为 {total}") elif last_operator == "+": total += num print(f"debug: 加法运算后,当前总计 {total}") elif last_operator == "-": total -= num print(f"debug: 减法运算后,当前总计 {total}") last_operator = op loop_count += 1 # 循环5次后退出,移除最后一个多余的操作符 if loop_count == 5: expression_parts.pop() break # 生成可读的求和表达式 expression_str = " ".join(str(part) for part in expression_parts) # 输出结果 print(f"求和表达式: {expression_str}") print(f"运行总计过程记录(debug日志已打印)") print(f"最终答案: {total}")
关键修改点说明
- 初始化起始值:首次循环时将第一个数字赋值给
total,解决原代码从0开始计算的错误。 - 变量名优化:将
trre改为loop_count、sume改为expression_parts等,提升代码可读性。 - 冗余变量清理:删除
bracket、only1bracket等未使用的变量,精简代码结构。 - 表达式格式化输出:将列表中的数字和操作符拼接成字符串,直接输出清晰的求和表达式,符合需求。
- 调试信息优化:使用f-string让debug日志更直观,便于跟踪计算过程。
内容的提问来源于stack exchange,提问作者Rcfullscale
相关产品推荐
相关产品推荐

