学生选课系统python
时间: 2023-07-26 18:29:17 浏览: 162
学生选课管理系统(python)
学生选课系统是一个比较复杂的系统,需要考虑到很多方面,包括学生信息管理、课程信息管理、选课流程管理等等。这里提供一个简单的学生选课系统的Python代码示例,仅供参考。
```python
import json
# 定义学生和课程信息
students = {
"001": {"name": "张三", "age": 18, "gender": "男", "major": "计算机科学与技术"},
"002": {"name": "李四", "age": 19, "gender": "女", "major": "软件工程"},
"003": {"name": "王五", "age": 20, "gender": "男", "major": "信息安全"}
}
courses = {
"001": {"name": "Python编程", "teacher": "张老师", "time": "周一上午"},
"002": {"name": "Web开发", "teacher": "李老师", "time": "周二下午"},
"003": {"name": "数据结构与算法", "teacher": "王老师", "time": "周三晚上"}
}
# 定义选课流程
def select_course():
# 输入学生信息
student_id = input("请输入学生ID:")
student = students.get(student_id, None)
if not student:
print("学生不存在,请重新输入。")
return
# 输入课程信息
course_id = input("请输入课程ID:")
course = courses.get(course_id, None)
if not course:
print("课程不存在,请重新输入。")
return
# 判断是否已选该课程
if course_id in student.get("courses", []):
print("您已选过该课程,无需重复选课。")
return
# 选课成功
student.setdefault("courses", []).append(course_id)
print("选课成功!")
# 定义查看选课信息功能
def view_course():
# 输入学生信息
student_id = input("请输入学生ID:")
student = students.get(student_id, None)
if not student:
print("学生不存在,请重新输入。")
return
# 输出已选课程信息
course_ids = student.get("courses", [])
if not course_ids:
print("该学生尚未选课。")
return
print("已选课程:")
for course_id in course_ids:
course = courses.get(course_id, {})
print("课程ID:{},课程名称:{},授课教师:{},上课时间:{}".format(course_id, course.get("name", ""), course.get("teacher", ""), course.get("time", "")))
# 定义保存数据功能
def save_data():
with open("students.json", "w") as f:
json.dump(students, f)
with open("courses.json", "w") as f:
json.dump(courses, f)
# 定义加载数据功能
def load_data():
global students, courses
with open("students.json", "r") as f:
students = json.load(f)
with open("courses.json", "r") as f:
courses = json.load(f)
# 主函数
def main():
# 加载数据
load_data()
# 选择功能
while True:
print("请选择功能:")
print("1. 选课")
print("2. 查看选课信息")
print("3. 退出")
choice = input("请输入选择:")
if choice == "1":
select_course()
elif choice == "2":
view_course()
elif choice == "3":
# 保存数据并退出
save_data()
print("谢谢使用!")
break
else:
print("输入有误,请重新输入。")
if __name__ == "__main__":
main()
```
以上代码仅是一个简单的示例,实际情况下需要根据具体需求进行修改和完善。
阅读全文