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

Python实现将循环输入的所有学生ID写入TXT文件的方法

问题解决与代码优化

核心问题拆解

  • 仅最后一个ID写入文件:因为写入操作放在了循环外面,循环结束后 s_id只保留最后一次输入的值,自然只会写入这一条。
  • 文件模式选择:"w"会覆盖原有文件内容(适合每次生成全新的注册表单);"a"会在文件末尾追加内容(适合在已有表单后继续添加新注册信息),根据你的实际需求选对应的模式就行。
  • 写入操作放入循环:有两种实用方案,按需选择即可。

优化后的代码方案

方案1:边输入边写入

适合担心输入中断丢失数据的场景,每输入一个ID就立刻保存:

no_students = int(input("How many students are registering?"))
# 按需选模式:全新表单用"w",追加内容用"a"
with open("reg_form.txt", "w") as f:
    for _ in range(no_students):
        s_id = input("Enter your student ID: ")
        f.write(f"Student ID: {s_id} ....................... \n")

方案2:收集所有ID后批量写入

适合需要先核对所有ID再统一保存的场景:

no_students = int(input("How many students are registering?"))
student_ids = []
for _ in range(no_students):
    s_id = input("Enter your student ID: ")
    student_ids.append(s_id)

# 写入文件,模式选择同上
with open("reg_form.txt", "w") as f:
    for s_id in student_ids:
        f.write(f"Student ID: {s_id} ....................... \n")

额外细节说明

  • 原代码里的i变量完全多余,直接用range(no_students)就能精准控制循环次数,代码更简洁。
  • 字符串格式化不需要额外套str(),f-string本身就是字符串类型,多此一举反而没必要。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:40:38