使用列表存储学生选课信息,允许用户添加选课、查看选课及删除选课。 编程思路: 1.使用列表存储多个学生的选课信息(如姓名和课程)。 2.提供菜单选项,让用户选择添加、查看或删除课程。 使用for循环遍历列表,break退出循环,continue处理不合法的选课请求
时间: 2024-09-26 17:08:01 浏览: 29
在Python中,你可以通过以下几个步骤来设计这个功能:
1. **创建数据结构**:
首先,定义一个字典来表示每个学生的选课,键通常是学生的姓名,值是一个列表,包含他们所选的课程。例如:
```python
students_courses = {}
```
2. **添加选课**:
提供一个函数`add_course(name, course)`,接收学生名和课程名作为输入,检查学生是否已存在,如果不存在则添加,然后更新他们的课程列表:
```python
def add_course(name, course):
if name not in students_courses:
students_courses[name] = [course]
else:
students_courses[name].append(course)
```
3. **查看选课**:
设计一个函数`view_courses(name=None)`,可以显示所有学生的选课(如果name指定),或特定学生的选课:
```python
def view_courses(name=None):
if name is None:
return list(students_courses.values())
elif name in students_courses:
return students_courses[name]
else:
print("Student not found.")
```
4. **删除选课**:
创建函数`remove_course(name, course)`,检查学生是否存在以及课程是否在他们的课程列表里,然后从列表中移除该课程:
```python
def remove_course(name, course):
if name in students_courses and course in students_courses[name]:
students_courses[name].remove(course)
if len(students_courses[name]) == 0: # 如果课程列表为空,删除整个学生记录
del students_courses[name]
else:
print("Course not found for the student.")
```
5. **主循环和交互**:
设计一个简单的命令行界面,包括循环、用户输入验证和break/continue逻辑:
```python
while True:
action = input("Choose an action: 'add', 'view', 'remove', or 'quit'\n")
if action == "quit":
break
elif action == "add":
name = input("Enter student name:")
course = input("Enter course:")
add_course(name, course)
elif action == "view":
name = input("Enter student name to view (or leave blank for all):")
courses = view_courses(name)
# 显示课程信息
elif action == "remove":
name = input("Enter student name:")
course = input("Enter course to remove:")
remove_course(name, course)
else:
print("Invalid action.")
```
阅读全文