You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用readlines时,如何在if语句中实现变量递增并标记行

问题解决:在含"orange"的行下方添加递增数字标记

问题根源

你的代码里number = 0写在了for line in inp.readlines()循环内部,每遍历一行就会把number重置为0,所以每次检测到"orange"时,number +=1只会得到1,无法实现递增。另外,你也没把递增后的数字写入输出文件。

修改后的代码

with open("input.txt", "r") as inp:
    with open("output.txt", "w") as oup:
        number = 0  # 把变量初始化移到循环外面,保留累计值
        for line in inp.readlines():
            oup.write(line)  # 先写入当前行
            if "orange" in line:
                oup.write(f"{number}\n")  # 在orange行下方写入当前数字
                number += 1  # 数字递增,为下一个orange行做准备

关键改动说明

  • 将number = 0移到for循环外部,确保变量在整个遍历过程中不会被重置,能持续累计计数。
  • 先写入当前行,再判断是否包含"orange",如果是就写入对应的数字,然后递增计数器。
  • 数字从0开始,完全匹配你期望的输出格式。

内容的提问来源于stack exchange,提问作者kts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:15:33