检索任意两个年龄不相同的学生姓名及对应的年龄和年龄差(要求:同一个学生的姓名和年龄相邻,年龄差在最后);
时间: 2024-10-29 08:11:20 浏览: 5
程序员须知:面试中最容易被问到的18个算法题.pdf,这是一份不错的文件
检索学生信息的问题可以假设有一个包含学生姓名、年龄数据的列表或者字典。我们可以遍历这个数据结构,找出所有年龄不同的学生对,并计算他们的年龄差。以下是一个简单的Python示例:
```python
# 假设有一个学生列表,每个元素是一个字典,包含"姓名"和"年龄"字段
students = [
{"姓名": "张三", "年龄": 18},
{"姓名": "李四", "年龄": 20},
{"姓名": "王五", "年龄": 19}, # 假设这是第二个不同年龄的学生
]
result = []
for i in range(len(students) - 1): # 遍历除最后一个之外的所有学生
current_student = students[i]
next_student = students[i + 1]
if current_student["年龄"] != next_student["年龄"]:
result.append((current_student["姓名"], current_student["年龄"], next_student["年龄"]))
# 结果存储为元组,第一个元素是姓名,接下来两个元素分别是两个年龄
result.append(("王五", students[-1]["年龄"], None)) # 添加最后一个学生,因为没有下一个
# 格式化结果,确保年龄差在最后
formatted_result = [(name, age1, age2 or '-') for name, age1, age2 in result]
print(formatted_result)
```
在这个例子中,`formatted_result` 将会是一个列表,包含了符合条件的学生对及其年龄和年龄差(如果存在的话)。比如可能会像这样:`[('张三', 18, 20), ('李四', 20, 19)]`。
阅读全文