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

如何修正write_nums函数写入nums.txt时的多余行问题?

问题解决方法

问题根源

当前代码存在两个核心问题:

  1. 硬编码了循环范围为range(1,11),既没有使用传入的参数n,若实际运行时误写为错误范围(比如range(1, n+2)),就会多输出数字11。
  2. 未满足每行「数字 数字」的格式要求,当前每行仅写入单个数字。

修正后的代码

def write_nums(n):
    with open("nums.txt", 'w') as fp:
        # 遍历前n个正整数,range(1, n+1)生成1到n的整数序列
        for i in range(1, n+1):
            # 按要求格式写入每行:数字 + 四个空格 + 数字 + 换行符
            fp.write(f"{i}    {i}\n")

if __name__ == "__main__":
    write_nums(10)

关键修正点

  • 将固定循环范围改为range(1, n+1),由参数n控制循环次数,当传入10时正好生成10个数字,不会出现多余的11。
  • 调整写入格式,确保每行输出「数字 数字」的结构,同时用write()方法更简洁地处理单行写入。
  • 移除了多余的pass语句,函数体内已有执行代码,无需占位符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:40:27