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

Python学生记录管理:实现升序/降序排序选择功能

实现按用户选择的升序/降序展示学生记录

你需要修改view_records函数,添加用户排序方向选择的逻辑,具体实现如下:

修改步骤

  1. 添加排序方向选择交互:在读取记录前,让用户选择升序或降序,同时处理无效输入,确保用户输入合法选项。
  2. 绑定排序方向参数:利用sorted函数的reverse参数,根据用户选择控制排序方向。

修改后的完整view_records代码

import csv
student_info = ['Student ID', 'First name', 'last name', 'age', 'address', 'phone number']
database = 'file_records.txt'

def view_records():
    print("--- Student Records ---")
    
    # 循环获取合法的排序方向选择
    while True:
        sort_choice = input("请选择排序方向:1-升序,2-降序:")
        if sort_choice in ['1', '2']:
            break
        print("无效输入,请输入1或2")
    
    # 根据选择设置排序反转参数
    reverse_order = sort_choice == '2'

    with open(database, "r", encoding="utf-8") as f:
        for x in student_info:
            print(x, end='\t |')
        print("\n-----------------------------------------------------------------")

        reader = csv.reader(f)
        # 应用用户选择的排序方向
        student_records = sorted(reader, key=lambda r: (r[2], r[1]), reverse=reverse_order)
        for row in student_records:
            print(*row, sep="\t |")

    input("Done! Press enter to continue")
    print('returning to Main Menu')

功能说明

  • 新增的输入循环会强制用户输入1或2,避免无效输入导致程序异常。
  • 排序逻辑仍保留原有的「先姓氏、后名字」的排序键,仅通过reverse参数切换升序/降序。
  • 主程序文件无需修改,用户选择功能4时会自动触发排序方向选择流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:40:52