python使用字典描述学生信息,包括sno(学号),name(姓名),score(成绩),使用列表存储学生信息。在课堂已实现代码的基础上完成如下功能:1、完善程序:在增加学生时要进行学号检查,学号不重复才能加入(既要实现学号的唯一性) 2、根据学号查找到某位学生,对其姓名进行修改。3、根据学号找到某位学生,对其信息进行删除。
时间: 2024-02-12 13:05:44 浏览: 104
好的,我来一步步地解答你的问题:
1. 完善程序:在增加学生时要进行学号检查,学号不重复才能加入
可以通过遍历已有学生列表中的学号,来检查新加入学生的学号是否已存在。如果已存在,则提示学号已存在;如果不存在,则加入新学生信息。
以下是代码实现:
```python
students = []
def add_student(sno, name, score):
# 检查学号是否已存在
for student in students:
if student['sno'] == sno:
print('学号已存在')
return False
# 学号不存在,加入新学生信息
student = {'sno': sno, 'name': name, 'score': score}
students.append(student)
return True
```
2. 根据学号查找到某位学生,对其姓名进行修改。
可以通过遍历已有学生列表,找到要修改姓名的学生,并将其姓名改为新姓名。
以下是代码实现:
```python
def modify_name(sno, new_name):
for student in students:
if student['sno'] == sno:
student['name'] = new_name
return True
print('学号不存在')
return False
```
3. 根据学号找到某位学生,对其信息进行删除。
可以通过遍历已有学生列表,找到要删除的学生,然后将其从列表中删除。
以下是代码实现:
```python
def delete_student(sno):
for i in range(len(students)):
if students[i]['sno'] == sno:
del students[i]
return True
print('学号不存在')
return False
```
最后,我们可以测试一下上述代码的功能:
```python
# 添加学生
add_student('001', '张三', 90)
add_student('002', '李四', 85)
add_student('003', '王五', 92)
# 修改姓名
modify_name('001', '赵六')
# 删除学生
delete_student('002')
# 打印学生列表
print(students)
```
输出结果为:
```
[{'sno': '001', 'name': '赵六', 'score': 90}, {'sno': '003', 'name': '王五', 'score': 92}]
```
希望这些代码能够帮助到你,如果你还有其他问题,可以继续问我哦!
阅读全文