编写程序,完成通讯录查询功能。 1. 从文件“phonenum.txt”中读入电话通讯录。每行格式如下 : 姓名 电话(例如:张三 13299887777) 2. 将文件内容存放在字典中,键为姓名,值为电话。 3. 用户输入姓名,如字典中存在,输出“姓名:电话”,如不存在,则输出“数据不存在”。
时间: 2024-03-31 21:38:11 浏览: 51
以下是 Python 代码实现:
```python
# 读取文件,存储到字典中
phonebook = {}
with open('phonenum.txt', 'r') as f:
for line in f:
name, phone = line.strip().split()
phonebook[name] = phone
# 查询电话号码
name = input("请输入姓名:")
if name in phonebook:
print("{}:{}".format(name, phonebook[name]))
else:
print("数据不存在")
```
这个程序会读取文件 `phonenum.txt` 中的电话号码信息,然后将它们存储在一个字典 `phonebook` 中。当用户输入一个姓名时,如果这个姓名在字典中存在,程序会输出相应的电话号码;如果不存在,则输出“数据不存在”。
相关问题
输出字典原始数据,再调用menu函数输出用户选择界面,等待用户输入: (1)输入‘3’ 进行修改学生信息,输入姓名,如果该姓名已存在,则继续输入电话,学院
好的,根据你的要求,我写了下面这个程序,帮助你实现学生通讯录的功能:
```python
def menu():
print('''\n欢迎使用PYTHON学生通讯录
1:添加学生
2:删除学生
3:修改学生信息
4:搜索学生
5:显示全部学生信息
6:退出并保存''')
def show_data(data):
print("\n学生通讯录:")
for name, info in data.items():
print(f"{name}:电话 {info[0]},学院 {info[1]}")
def add_student(data):
name = input("请输入学生姓名:")
if name in data:
print("该学生已存在!")
else:
phone = input("请输入学生电话:")
department = input("请输入学生学院:")
data[name] = [phone, department]
print("添加成功!")
def delete_student(data):
name = input("请输入要删除的学生姓名:")
if name in data:
del data[name]
print("删除成功!")
else:
print("该学生不存在!")
def modify_student(data):
name = input("请输入要修改的学生姓名:")
if name in data:
phone = input("请输入学生电话:")
department = input("请输入学生学院:")
data[name] = [phone, department]
print("修改成功!")
else:
print("该学生不存在!")
def search_student(data):
name = input("请输入要搜索的学生姓名:")
if name in data:
print(f"{name}:电话 {data[name][0]},学院 {data[name][1]}")
else:
print("该学生不存在!")
def save_data(data):
with open("data.txt", "w") as f:
for name, info in data.items():
f.write(f"{name},{info[0]},{info[1]}\n")
def load_data():
data = {}
try:
with open("data.txt", "r") as f:
for line in f:
name, phone, department = line.strip().split(",")
data[name] = [phone, department]
except:
pass
return data
data = load_data()
show_data(data)
menu()
while True:
option = input("请输入选项:")
if option == "1":
add_student(data)
elif option == "2":
delete_student(data)
elif option == "3":
modify_student(data)
elif option == "4":
search_student(data)
elif option == "5":
show_data(data)
elif option == "6":
save_data(data)
print("谢谢使用!")
break
else:
print("无效选项,请重新输入!")
menu()
```
这个程序分别实现了添加学生、删除学生、修改学生信息、搜索学生、显示全部学生信息、保存数据等功能。在程序开始时,我们会从文件中读取已经保存的学生信息,并打印出来。然后调用 `menu()` 函数输出用户选择界面。然后进入一个循环,不断读入用户的选项,根据选项调用相应的函数实现相应的功能。最后如果用户选择保存数据,就会将数据保存到文件中。
def menu(): print('''\n欢迎使用PYTHON学生通讯录 1:添加学生 2:删除学生 3:修改学生信息 4:搜索学生 5:显示全部学生信息 6:退出并保存''') dic={'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']} print(dic) menu() num=int(input()) if(num==1): name=input() if name in dic.keys(): print("Fail") else: print("Success") print(dic) else: print("ERROR") 完善上面这个代码,使输出成 {'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']} 欢迎使用PYTHON学生通讯录 1:添加学生 2:删除学生 3:修改学生信息 4:搜索学生 5:显示全部学生信息 6:退出并保存 1 杨彪 11002345678 材料 Success {'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法'], '杨彪': ['11002345678', '材料']}
你可以将代码修改为以下内容:
```
def menu():
print('''\n欢迎使用PYTHON学生通讯录
1:添加学生
2:删除学生
3:修改学生信息
4:搜索学生
5:显示全部学生信息
6:退出并保存''')
dic={'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']}
print(dic)
menu()
num=int(input())
if(num==1):
name=input('请输入学生姓名:')
if name in dic.keys():
print("添加失败,该学生已存在!")
else:
phone=input('请输入学生电话号码:')
major=input('请输入学生专业:')
dic[name]=[phone,major]
print("添加成功!")
print(dic)
else:
print("输入错误!")
```
这个代码块会在输出菜单后,判断用户输入的数字,如果为1,则提示用户输入学生的姓名、电话号码和专业,并将其保存到字典中,最后输出当前的字典。如果输入错误的数字,则输出错误信息。
阅读全文