row_list = [] # 创建一个空列表,用于保存 row previous_sht_namsss = None # 保存前一个 sht_namsss 的值 while True: # 循环判断条件 if ' └------------' in formula_result: # 判断失败,进行相应处理 print(sht_namsss + " " + str(row)) row_list.append(str(row)) # 将 str(row) 添加到 row_list # 判断退出条件 if previous_sht_namsss and sht_namsss != previous_sht_namsss: break previous_sht_namsss = sht_namsss # 更新 previous_sht_namsss 的值 row += 1 # 更新 row 的值 # 在循环结束后,row_list 将包含多个 row print(row_list) 这段代码进入了死循环
时间: 2024-04-12 10:32:37 浏览: 106
根据你提供的代码,我认识到可能存在一个问题导致进入了死循环。在循环中,我们没有更新 `formula_result` 的值,因此条件判断 `if ' └------------' in formula_result` 的结果始终保持不变,可能导致循环无法结束。
为了解决这个问题,你需要在循环内部更新 `formula_result` 的值,以便在每次迭代时检查新的结果。请确保在循环内部有适当的逻辑来更新 `formula_result` 的值,例如从文件中读取新的结果或从其他地方获取它。
以下是一个示例代码,假设你可以通过某种方式更新 `formula_result` 的值:
```python
row_list = [] # 创建一个空列表,用于保存 row
previous_sht_namsss = None # 保存前一个 sht_namsss 的值
while True:
# 循环判断条件
if ' └------------' in formula_result:
# 判断失败,进行相应处理
print(sht_namsss + " " + str(row))
row_list.append(str(row)) # 将 str(row) 添加到 row_list
# 判断退出条件
if previous_sht_namsss and sht_namsss != previous_sht_namsss:
break
previous_sht_namsss = sht_namsss # 更新 previous_sht_namsss 的值
row += 1 # 更新 row 的值
# 更新 formula_result 的值,例如从文件中读取新的结果
formula_result = read_formula_result_from_file() # 请替换为适合你的逻辑
# 在循环结束后,row_list 将包含多个 row
print(row_list)
```
请根据你的实际需求修改和适配代码,并确保在循环内部有适当的逻辑来更新 `formula_result` 的值,以避免进入死循环。
阅读全文