编写程序实现:首先从键盘输入若干个学号与姓名的偶对,以空行作结束标记。然后输入一个姓名,输出对应的学号;若存在重复的姓名,则输出所有同名者的学号;若不存在该姓名,则输出“查无此名”。 提示:可以对匹配的姓名进行计数,进而判断是否存在该姓名。
时间: 2024-12-20 19:25:15 浏览: 16
为了实现这个功能,你可以使用Python语言编写一个简单的程序。下面是一个示例代码:
```python
def input_data():
student_dict = {} # 创建一个字典来存储学号和姓名
while True:
line = input("请输入学号与姓名(例如:123 张三,回车表示结束):")
if not line.strip(): # 如果输入为空行,结束循环
break
info = line.split() # 分割输入的字符串为学号和姓名
if len(info) != 2: # 检查是否包含两个元素
print("输入格式错误,请重新输入!")
continue
student_id = int(info[0]) # 将学号转换为整数
name = info[1]
if name in student_dict: # 如果姓名已存在,添加学号到列表
student_dict[name].append(student_id)
else: # 否则创建一个新的键值对
student_dict[name] = [student_id]
return student_dict
def search_name(name, student_dict):
if name in student_dict:
print(f"姓名 '{name}' 对应的学号有:", student_dict[name])
else:
print(f"查无此名:'{name}'")
# 主函数
if __name__ == "__main__":
student_info = input_data()
search_name(input("请输入要查找的姓名:"), student_info)
```
当你运行这个程序并输入学号和姓名时,它会按照描述的要求保存数据并提供查询功能。如果输入的是已经存在的姓名,程序将列出对应的所有学号;如果没有找到指定的姓名,会显示“查无此名”。
阅读全文