利用文件构建用户电话号码本。(需实现增、删、查(按指定属性排序并查询)、改、显示的功能)。
时间: 2023-07-10 09:08:15 浏览: 43
好的,可以使用Python语言实现这个功能。
首先,我们需要一个数据结构来存储用户电话号码本,可以使用字典来实现,其中键为用户姓名,值为用户电话号码。
```python
phone_book = {
"张三": "123456789",
"李四": "234567890",
"王五": "345678901"
}
```
接下来,我们需要实现增、删、查、改、显示这五个功能。
1. 增加功能
增加功能就是向电话号码本中添加一条记录,可以让用户输入姓名和电话号码,然后将其添加到字典中即可。
```python
def add():
name = input("请输入姓名:")
phone = input("请输入电话号码:")
phone_book[name] = phone
print("添加成功!")
```
2. 删除功能
删除功能就是从电话号码本中删除一条记录,可以让用户输入姓名,然后将其从字典中删除即可。
```python
def delete():
name = input("请输入要删除的姓名:")
if name in phone_book:
del phone_book[name]
print("删除成功!")
else:
print("该联系人不存在!")
```
3. 查找功能
查找功能可以按照姓名或电话号码进行查找,可以让用户选择按照哪种方式进行查找,然后遍历字典进行查找。
```python
def search():
option = input("请选择按照姓名查找(1)还是按照电话号码查找(2):")
if option == "1":
name = input("请输入要查找的姓名:")
if name in phone_book:
print("姓名:%s,电话号码:%s" % (name, phone_book[name]))
else:
print("该联系人不存在!")
elif option == "2":
phone = input("请输入要查找的电话号码:")
for name, p in phone_book.items():
if p == phone:
print("姓名:%s,电话号码:%s" % (name, p))
return
print("该联系人不存在!")
else:
print("输入有误!")
```
4. 修改功能
修改功能可以修改电话号码本中的一条记录,可以让用户输入姓名和新的电话号码,然后修改字典中的值即可。
```python
def modify():
name = input("请输入要修改的姓名:")
if name in phone_book:
phone = input("请输入新的电话号码:")
phone_book[name] = phone
print("修改成功!")
else:
print("该联系人不存在!")
```
5. 显示功能
显示功能可以按照姓名或电话号码进行排序,并将电话号码本中的所有记录按照排序结果输出。
```python
def display():
option = input("请选择按照姓名排序(1)还是按照电话号码排序(2):")
if option == "1":
sorted_phone_book = sorted(phone_book.items())
elif option == "2":
sorted_phone_book = sorted(phone_book.items(), key=lambda x: x[1])
else:
print("输入有误!")
return
for name, phone in sorted_phone_book:
print("姓名:%s,电话号码:%s" % (name, phone))
```
最后,我们可以将以上五个功能封装到一个主函数中,并循环接收用户命令来实现整个程序。
```python
def main():
while True:
print("请选择功能:")
print("1. 增加联系人")
print("2. 删除联系人")
print("3. 查找联系人")
print("4. 修改联系人")
print("5. 显示联系人")
print("6. 退出程序")
option = input()
if option == "1":
add()
elif option == "2":
delete()
elif option == "3":
search()
elif option == "4":
modify()
elif option == "5":
display()
elif option == "6":
break
else:
print("输入有误!")
if __name__ == '__main__':
main()
```
这样,一个简单的用户电话号码本就实现了。完整代码如下: