编写程序实现:首先从键盘输入若干个学号与姓名的偶对,以空行作结束标记。然后输入一个姓名,输出对应的学号;若存在重复的姓名,则输出所有同名者的学号;若不存在该姓名,则不做任何处理。Pathon
时间: 2024-10-13 12:17:06 浏览: 124
在Python中实现这个功能,你可以使用字典数据结构来存储学生的信息,因为字典的键通常是唯一的,这将方便我们快速查找和处理。下面是一个简单的示例:
```python
def input_students():
student_dict = {}
while True:
# 输入学号和姓名,用逗号分隔
stu_input = input("请输入学号和姓名(例如:123456, 张三),输入空行结束:")
if not stu_input.strip(): # 空行表示输入结束
break
# 分割输入的学号和姓名
parts = stu_input.split(',')
if len(parts) != 2 or not parts[0].isdigit() or not parts[1].strip():
print("输入格式错误,请重新输入!")
continue
# 添加或更新学生信息
student_id = int(parts[0])
name = parts[1]
if name in student_dict:
student_dict[name].append(student_id)
else:
student_dict[name] = [student_id]
students = input_students()
# 查询姓名并输出对应学号
search_name = input("请输入要查询的姓名:")
if search_name in student_dict:
print(f"同名者学号有:{', '.join(map(str, student_dict[search_name]))}")
else:
print(f"未找到该姓名:{search_name}")
```
当你运行此程序时,它会提示用户逐次输入学生的学号和姓名,直到用户输入空行为止。之后,可以搜索特定的姓名,并显示所有同名的学生学号。
阅读全文