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

Python如何迭代嵌套字典与列表并单次输出单条学生记录

无需自定义函数的Python实现方案

完整可运行代码

# 接收每名学生需提取的成绩数量,做基础输入校验
while True:
    try:
        score_count = int(input("请输入每名学生需提取的成绩数量:"))
        if score_count > 0:
            break
        print("请输入大于0的正整数")
    except ValueError:
        print("输入格式错误,请输入有效数字")

# 示例学生数据源,可替换为实际业务中的数据源(如读取自Excel、CSV的数据集)
student_list = [
    {"姓名": "张三", "学号": "2023001", "成绩": [89, 92, 78, 95, 88]},
    {"姓名": "李四", "学号": "2023002", "成绩": [76, 85, 91, 82, 79]},
    {"姓名": "王五", "学号": "2023003", "成绩": [93, 81, 87, 90, 94]},
    {"姓名": "赵六", "学号": "2023004", "成绩": [84, 77, 83, 72, 80]},
    {"姓名": "孙七", "学号": "2023005", "成绩": [91, 93, 89, 96, 92]}
]

# 存储所有已展示的学生数据,用于最终汇总
showed_records = []

# 逐条输出逻辑
for student in student_list:
    # 提取指定数量的成绩
    target_scores = student["成绩"][:score_count]
    # 拼接单条学生展示信息
    current_info = f"姓名:{student['姓名']} | 学号:{student['学号']} | 前{score_count}门成绩:{target_scores}"
    # 输出单条信息
    print("\n当前学生信息:")
    print(current_info)
    # 存入已展示列表
    showed_records.append(current_info)
    # 询问用户是否继续
    choice = input("\n是否查看下一条?输入n/停止/stop即可终止,其他输入默认继续:").strip().lower()
    if choice in ["n", "stop", "停止"]:
        break

# 汇总输出所有已展示数据
print("\n" + "="*40)
print("已展示学生数据汇总:")
for record in showed_records:
    print(f"- {record}")

逻辑说明

  • 全程无自定义函数,完全符合需求约束
  • 自带输入校验,避免非数字、负数输入导致的程序报错
  • 学生数据源可直接替换为实际业务数据,只需对应修改信息拼接部分的字段即可适配
  • 终止触发词可根据使用习惯自行修改判断条件中的匹配列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:06:04