使用python设计一个学生信息管理系统,功能如下:一、学生信息维护 (录入、删除、修改) 二、查询与统计(查询所有、按条件查询、统计人数) 三、排序(按单关键字排序、按总分排序、升序/降序)
时间: 2023-10-20 13:13:01 浏览: 41
好的,那我先向你确认一下,你需要一个控制台界面的学生信息管理系统,对吗?还是需要一个图形界面?
无论是哪种界面,我可以为您提供一些代码实现上的帮助。首先,我们需要定义一个学生类来存储学生的信息,包括学生的姓名、学号、年龄、性别、出生日期等等。
```python
class Student:
def __init__(self, name, id, age, gender, birthday):
self.name = name
self.id = id
self.age = age
self.gender = gender
self.birthday = birthday
```
接下来,对于学生信息的录入、删除、修改,我们可以分别定义对应的函数:
```python
# 录入学生信息
def add_student(students):
name = input("请输入学生姓名:")
id = input("请输入学生学号:")
age = input("请输入学生年龄:")
gender = input("请输入学生性别:")
birthday = input("请输入学生生日:")
student = Student(name, id, age, gender, birthday)
students.append(student)
print("学生信息录入成功!")
# 删除学生信息
def delete_student(students):
id = input("请输入要删除的学生学号:")
for student in students:
if student.id == id:
students.remove(student)
print("学生信息删除成功!")
return
print("没有找到对应学生信息!")
# 修改学生信息
def update_student(students):
id = input("请输入要修改的学生学号:")
for student in students:
if student.id == id:
student.name = input("请输入学生姓名:")
student.age = input("请输入学生年龄:")
student.gender = input("请输入学生性别:")
student.birthday = input("请输入学生生日:")
print("学生信息修改成功!")
return
print("没有找到对应学生信息!")
```
对于查询与统计功能,我们需要定义一个函数来显示所有学生信息,一个函数用于根据条件查询学生信息,以及一个函数统计学生总人数:
```python
# 显示所有学生信息
def show_students(students):
for student in students:
print("姓名:%s, 学号:%s, 年龄:%s, 性别:%s, 生日:%s" % (
student.name, student.id, student.age, student.gender, student.birthday))
# 按条件查询学生信息
def search_students(students):
keyword = input("请输入要查询的关键字:")
results = []
for student in students:
if keyword in student.name or keyword in student.id or keyword in student.gender:
results.append(student)
if results:
print("查询结果如下:")
show_students(results)
return
print("没有找到符合条件的学生!")
# 统计学生总数
def count_students(students):
count = len(students)
print("学生总数为:%d" % count)
```
最后,对于排序功能,我们可以使用Python自带的sorted函数来实现:
```python
# 按单关键字排序
def sort_students(students):
sort_key = input("请输入排序的关键字(姓名、学号、年龄、性别、生日):")
reverse = input("请输入排序方式(升序或降序):") == '降序'
students.sort(key=lambda x: getattr(x, sort_key), reverse=reverse)
show_students(students)
# 按总分排序
def sort_total_scores(students):
# TODO: 实现按总分排序的功能
pass
```
这些就是一个基本的学生信息管理系统的实现。希望可以对您有所帮助!
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)