def main(): while True: print("欢迎使用学生信息管理系统!") print("1.查看学生信息 2.修改学生信息 3.删除学生信息 4.退出系统") choice = input("请选择操作:") if choice == "1": students = read_students() if students: for student in students: if choice == "1": students = read_students() if students: for student in students: print(student) else: print("学生信息为空!") elif choice == "2": students = read_students() if students: id = input("请输入学生学号:") student = update_student_info(students, id) if student: old_data = query_student_info(read_students(), id) log_modify(student, old_data) add_student_info(students) else: print("学生信息为空!") elif choice == "3": print("请选择删除方式:1.按姓名、学号删除 2.按班级删除 ") choice = input() if choice == "1": delete_student_info() elif choice == "2": delete_class_info() else: print("无效的选择!") elif choice == "4": print("谢谢使用!") break else: print("无效的选择!") if __name__ == '__main__': main()
时间: 2024-02-10 16:20:22 浏览: 62
这段代码是学生信息管理系统的主程序,提供了查看、修改、删除学生信息等功能。主要包括一个无限循环的菜单,根据用户的选择来执行相应的操作,具体包括:
- 查看学生信息:调用 `read_students()` 函数读取学生信息文件,再逐个输出每个学生的信息。
- 修改学生信息:调用 `read_students()` 函数读取学生信息文件,然后根据用户输入的学号来查找要修改的学生,调用 `update_student_info()` 函数更新学生信息,并将修改前后的数据记录到日志文件中。
- 删除学生信息:提供按姓名、学号删除和按班级删除两种方式,调用 `delete_student_info()` 或 `delete_class_info()` 函数删除学生信息。
- 退出系统:结束程序的运行。
如果用户输入了无效的选项,程序会输出提示信息,并重新显示菜单。
相关问题
Python def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学生") print(" 3:修改学生") print(" 4:查询学生") print(" 5:显示所有学生") print(" 6:退出系统") print("---------------------------") def main(): while True: # 打印菜单 print_menu() # 输入自己的选择 choose = int(input("请输入您的选择: >>>"))帮我继续完成学生管理系统,并完成上述功能
好的,这里提供一个基于命令行的简单学生管理系统,包括添加、删除、修改、查询和显示所有学生的功能。
代码:
```python
class Student:
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
def __str__(self):
return f"Name: {self.name}, Age: {self.age}, Grade: {self.grade}"
class StudentManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, name):
for student in self.students:
if student.name == name:
self.students.remove(student)
return True
return False
def modify_student(self, name, age, grade):
for student in self.students:
if student.name == name:
student.age = age
student.grade = grade
return True
return False
def query_student(self, name):
for student in self.students:
if student.name == name:
return student
return None
def print_students(self):
for student in self.students:
print(student)
manager = StudentManager()
def print_menu():
print("---------------------------")
print(" 学生管理系统 V1.0")
print(" 1:添加学生")
print(" 2:删除学生")
print(" 3:修改学生")
print(" 4:查询学生")
print(" 5:显示所有学生")
print(" 6:退出系统")
print("---------------------------")
def main():
while True:
print_menu()
choose = int(input("请输入您的选择: >>>"))
if choose == 1:
name = input("请输入学生姓名: ")
age = int(input("请输入学生年龄: "))
grade = int(input("请输入学生成绩: "))
student = Student(name, age, grade)
manager.add_student(student)
print(f"{name}添加成功!")
elif choose == 2:
name = input("请输入要删除的学生姓名: ")
if manager.remove_student(name):
print(f"{name}删除成功!")
else:
print(f"{name}不存在!")
elif choose == 3:
name = input("请输入要修改的学生姓名: ")
age = int(input("请输入学生年龄: "))
grade = int(input("请输入学生成绩: "))
if manager.modify_student(name, age, grade):
print(f"{name}修改成功!")
else:
print(f"{name}不存在!")
elif choose == 4:
name = input("请输入要查询的学生姓名: ")
student = manager.query_student(name)
if student:
print(student)
else:
print(f"{name}不存在!")
elif choose == 5:
manager.print_students()
elif choose == 6:
print("感谢使用学生管理系统!")
break
else:
print("无效的选择,请重试!")
if __name__ == "__main__":
main()
```
界面:
```
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>1
请输入学生姓名: John
请输入学生年龄: 18
请输入学生成绩: 90
John添加成功!
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>1
请输入学生姓名: Mary
请输入学生年龄: 17
请输入学生成绩: 85
Mary添加成功!
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>5
Name: John, Age: 18, Grade: 90
Name: Mary, Age: 17, Grade: 85
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>4
请输入要查询的学生姓名: John
Name: John, Age: 18, Grade: 90
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>3
请输入要修改的学生姓名: Mary
请输入学生年龄: 18
请输入学生成绩: 95
Mary修改成功!
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>5
Name: John, Age: 18, Grade: 90
Name: Mary, Age: 18, Grade: 95
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>2
请输入要删除的学生姓名: John
John删除成功!
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>5
Name: Mary, Age: 18, Grade: 95
---------------------------
学生管理系统 V1.0
1:添加学生
2:删除学生
3:修改学生
4:查询学生
5:显示所有学生
6:退出系统
---------------------------
请输入您的选择: >>>6
感谢使用学生管理系统!
```
import display import computer import web import time, _thread, machine def loop1(): while True: print("This is loop1") display.oled_display() def loop2(): while True: print("This is loop2") computer.com() def loop3(): while True: print("This is loop3") web.start_webserver() def main(): _thread.start_new_thread(loop1,()) _thread.start_new_thread(loop2,()) _thread.start_new_thread(loop3,()) if name == "main": main()尝试使用其他的多线程库,例如 threading
可以使用 Python 内置的 `threading` 库来实现多线程操作。代码示例如下:
```python
import display
import computer
import web
import time
import threading
def loop1():
while True:
print("This is loop1")
display.oled_display()
def loop2():
while True:
print("This is loop2")
computer.com()
def loop3():
while True:
print("This is loop3")
web.start_webserver()
def main():
t1 = threading.Thread(target=loop1)
t2 = threading.Thread(target=loop2)
t3 = threading.Thread(target=loop3)
t1.start()
t2.start()
t3.start()
if __name__ == "__main__":
main()
```
这里我们使用了 `threading.Thread()` 创建了三个线程,并在 `main()` 函数中启动这三个线程。注意,使用 `threading` 库时,需要在函数名后面加上括号 `()`。
阅读全文