定义一个长度为3的数组,数组存储1~3名学生对象作为初始数据,学生对象的学号,姓名各不相同。 学生的属性:学号,姓名,年龄。 要求1:再次添加一个学生对象,并在添加的时候进行学号的唯一性判断。 要求2:添加完毕之后,遍历所有学生信息。 要求3:通过id删除学生信息 如果存在,则删除,如果不存在,则提示删除失败。 要求4:删除完毕之后,遍历所有学生信息。 要求5:查询数组id为“heima002”的学生,如果存在,则将他的年龄+1岁
时间: 2023-12-30 22:03:15 浏览: 41
好的,这是一个关于数组和对象的问题,我会尽力回答。
首先,我们可以定义一个长度为3的数组,存储3个学生的对象:
```python
students = [
{'id': 'heima001', 'name': 'Alice', 'age': 18},
{'id': 'heima002', 'name': 'Bob', 'age': 19},
{'id': 'heima003', 'name': 'Cathy', 'age': 20}
]
```
每个学生都是一个字典对象,包含了学号、姓名和年龄三个属性。
接下来,我们可以再次添加一个学生对象,并在添加的时候进行学号的唯一性判断:
```python
new_student = {'id': 'heima004', 'name': 'David', 'age': 21}
for student in students:
if student['id'] == new_student['id']:
print('Error: Student id already exists')
break
else:
students.append(new_student)
print('New student added:', new_student)
```
这里我们又使用了一个循环,遍历了每个学生的学号,如果有学号与新学生的学号相同,就输出错误提示并且跳出循环,否则就把新学生添加到数组中,并输出添加成功的信息。
然后,我们可以遍历所有学生信息:
```python
for student in students:
print('Student id:', student['id'], 'Name:', student['name'], 'Age:', student['age'])
```
这里我们使用了一个循环,遍历了每个学生的信息,并把它们打印出来。
接着,我们可以通过id删除学生信息:
```python
delete_id = 'heima002'
for i, student in enumerate(students):
if student['id'] == delete_id:
del students[i]
print('Student deleted:', student)
break
else:
print('Error: Student not found')
```
这里我们又使用了一个循环,遍历了每个学生的学号,如果有学号与要删除的id相同,就把这个学生对象从数组中删除,并输出删除成功的信息。如果遍历完了数组都没有找到要删除的学生,就输出错误提示。
最后,我们可以遍历所有学生信息:
```python
for student in students:
print('Student id:', student['id'], 'Name:', student['name'], 'Age:', student['age'])
```
这里我们又使用了一个循环,遍历了每个学生的信息,并把它们打印出来。
最后,我们可以查询数组id为“heima002”的学生,如果存在,则将他的年龄+1岁:
```python
query_id = 'heima002'
for student in students:
if student['id'] == query_id:
student['age'] += 1
print('Student found and age updated:', student)
break
else:
print('Error: Student not found')
```
这里我们又使用了一个循环,遍历了每个学生的学号,如果有学号与要查询的id相同,就把这个学生的年龄加1,并输出更新成功的信息。如果遍历完了数组都没有找到要查询的学生,就输出错误提示。
希望这个回答能够帮助你解决问题。