python 学生记录排序

【问题描述】
从键盘中读入最多不超过50个学生的学生信息(包括空格隔开的姓名、学号、年龄信息,以学号从低到高排序)
【输入形式】
每次键盘读入最多不超过50个学生的学生信息:
第一行为学生人数;
后面每一行为空格隔开的学生学号、姓名、年龄,其中学号和年龄都是整数。
【输出形式】
分别以姓名顺序(从低到高)和年龄顺序(从低到高)将学生信息输出,每行输出一位学生的信息,其中学号占3位,姓名(英文)占6位,年龄占3位,均为右对齐。年龄相同时按姓名从低到高排序。两种顺序的输出结果用一行空行相隔。
【输入样例】
4
1 aaa 22
45 bbb 23
54 ddd 20
110 ccc 19
【输出样例】
     1    aaa     22       
  45     bbb     23     
110     ccc     19
  54     ddd     20                                      

110     ccc     19       
  54     ddd     20        
    1     aaa     22       
  45     bbb     23                           
【样例说明】
从键盘输入四个学生记录,分别按姓名和年龄排序并输出。

 

n = int(input())  #输入学生人数

#输入学生名单
stu_list = []
for i in range(n):
    stu = input().split()
    stu[0] = int(stu[0])  #学号
    stu[2] = int(stu[2])  #年龄

    stu_list.append(stu)
print(stu_list)

stu_list.sort(key = lambda stu: stu[1])  #按姓名排序
for stu in stu_list:
    print("%3d%6s%3d" % (stu[0], stu[1], stu[2]))
print('')

stu_list.sort(key = lambda stu: stu[2])
for stu in stu_list:
    print("%3d%6s%3d" % (stu[0], stu[1], stu[2]))

> lambda

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,学生管理系统是一个比较常见的小项目,使用 Python 和 tkinter 可以很方便地实现其界面和功能。以下是一个简单的示例代码: ```python import tkinter as tk # 创建主窗口 root = tk.Tk() root.title("学生管理系统") # 创建标签和输入框 label_name = tk.Label(root, text="姓名:") label_name.grid(row=0, column=0) entry_name = tk.Entry(root) entry_name.grid(row=0, column=1) label_age = tk.Label(root, text="年龄:") label_age.grid(row=1, column=0) entry_age = tk.Entry(root) entry_age.grid(row=1, column=1) label_gender = tk.Label(root, text="性别:") label_gender.grid(row=2, column=0) entry_gender = tk.Entry(root) entry_gender.grid(row=2, column=1) # 创建列表框和滚动条 listbox = tk.Listbox(root) listbox.grid(row=3, column=0, columnspan=3) scrollbar = tk.Scrollbar(root) scrollbar.grid(row=3, column=3, sticky=tk.NS) listbox.config(yscrollcommand=scrollbar.set) scrollbar.config(command=listbox.yview) # 添加学生信息 def add_student(): name = entry_name.get() age = entry_age.get() gender = entry_gender.get() student = f"{name},{age}岁,{gender}" listbox.insert(tk.END, student) # 删除学生信息 def delete_student(): selected = listbox.curselection() if selected: listbox.delete(selected) # 创建按钮 button_add = tk.Button(root, text="添加", command=add_student) button_add.grid(row=4, column=0) button_delete = tk.Button(root, text="删除", command=delete_student) button_delete.grid(row=4, column=1) button_exit = tk.Button(root, text="退出", command=root.quit) button_exit.grid(row=4, column=2) # 运行主循环 root.mainloop() ``` 这个示例代码中,我们创建了一个主窗口,包含了三个学生信息的输入框和一个学生信息的列表框。我们可以通过输入框添加学生信息,也可以通过选中列表框中的学生信息来删除学生信息。最后,我们还加入了退出按钮来关闭程序。 ### 回答2: Python学生管理系统tkinter版是一个用Python编写的学生信息管理系统,使用tkinter库来实现用户界面。它可以实现学生的录入、查询、修改和删除等基本功能。 首先,我们需要建立一个数据库来存储学生的信息。可以使用SQLite数据库,它是Python内置的一个轻量级数据库,非常方便。 在程序界面中,我们可以设计一个主界面,上方有一个菜单栏,包含学生信息的录入、查询、修改和删除等功能。下方是一个表格,用来展示学生的信息,可以显示学生的学号、姓名、年龄、性别等字段。 首先是学生信息的录入功能。点击菜单栏的“录入”按钮,弹出一个新界面,用户可以输入学生的信息,如学号、姓名、年龄和性别等。点击确认按钮后,将学生信息插入到数据库中,并在表格中显示出来。 接下来是学生信息的查询功能。点击菜单栏的“查询”按钮,弹出一个新界面,用户可以输入要查询的学生学号或姓名等信息。点击查询按钮后,程序将在数据库中查找对应学生的信息,并在表格中展示出来。 接下来是学生信息的修改功能。点击菜单栏的“修改”按钮,弹出一个新界面,用户可以输入要修改的学生学号,并在下方的表格中显示出该学生的信息。用户可以修改学生的姓名、年龄和性别等字段。点击确认按钮后,程序将更新数据库中对应学生的信息,并在表格中展示出来。 最后是学生信息的删除功能。点击菜单栏的“删除”按钮,弹出一个新界面,用户可以输入要删除的学生学号,并在下方的表格中显示出该学生的信息。点击确认按钮后,程序将删除数据库中对应学生的信息,并在表格中移除该学生的信息。 通过以上功能,我们可以实现一个简单的学生管理系统。用户可以通过界面完成对学生信息的录入、查询、修改和删除等操作,方便快捷。 ### 回答3: Python学生管理系统Tkinter版是一款基于Python编程语言和Tkinter图形界面库开发的学生管理系统。这个系统具有以下主要功能。 首先,该系统可以实现学生的基本信息管理。管理员可以添加、查看、修改和删除学生的信息,包括学号、姓名、性别、年龄等。管理员可以通过文本框、下拉菜单和按钮等Tkinter控件来输入学生信息,并将信息保存在数据库中。 其次,系统还提供了学生成绩管理功能。管理员可以录入和查看学生的学科成绩,包括数学、语文、英语等科目。系统可以根据学生成绩排名进行排序,并可以计算每个学生的平均成绩。 此外,系统还拥有学生考勤管理功能。管理员可以记录学生的考勤情况,包括上课时间、迟到、早退等情况。系统可以生成考勤报表,方便管理员对学生出勤情况进行统计和分析。 最后,系统还提供了学生信息统计和查询功能。管理员可以查询学生的基本信息、成绩和考勤情况,并可以根据条件进行筛选和排序。系统可以生成学生信息报表,方便管理员进行数据分析和决策。 总之,Python学生管理系统Tkinter版是一款功能全面、界面友好的学生管理系统。通过该系统,管理员可以方便地管理学生的基本信息、成绩和考勤情况,提高工作效率和数据管理质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值