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

如何从txt文本文件中读取指定行第四列的数值并打印

问题原因

  • 你仅将人员编号存入了data_next列表,没有建立编号和对应第四列数值的映射关系,后续无法根据输入的编号匹配到正确数值
  • 循环内的value变量会在每次迭代时被新的行数据覆盖,循环结束后只保留了最后一行的数值,因此不管查询哪个编号,最终输出的都是最后一行的400.0

调整后的代码

# 用字典存储编号和对应数值的映射,匹配查询效率更高
person_value = {}
for data in open("my_data.txt", encoding="utf-8"):
    # 分割字段同时去除各字段前后多余空格
    liste = [item.strip() for item in data.split(",")]
    number = int(liste[0])
    name = liste[1]
    sex = liste[2]
    value = liste[3]
    # 存入编号和对应数值的映射关系
    person_value[number] = value
    print(f" [{number}] {name} {sex} {value}")


which_person = int(input("WHICH PERSON?: "))

if which_person in person_value:
    print("Do you want to know the value? Press 1 for YES or 2 for NO")
    next_input = int(input("YOUR INPUT: "))
    if next_input == 1:
        # 从映射字典中取出对应编号的数值
        print(person_value[which_person])
    elif next_input == 2:
        print("THX")
else:
    # 额外补充编号不存在的提示,逻辑更完善
    print("输入的人员编号不存在")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:54:07