import sys
import json
class TelephoneBook:
# 展示功能菜单
def show_menu(self):
print("*" * 20)
print("欢迎使用[通讯录] V1.0")
print("1. 新建联系人")
print("2. 查询联系人")
print("0. 退出系统")
print("*" * 20)
# 新建联系人的功能
def add_info(self):
name_str = input("请输入姓名:\n")
phone_num = input("请输入电话:\n")
qq_num = input("请输入QQ号码:\n")
mail_adr = input("请输入邮箱:\n")
# ********** Begin **********
dict1 = {}
dict1['姓名'] = name_str
dict1['手机号'] = phone_num
dict1['qq'] = qq_num
dict1['mail'] = mail_adr
# str1=[]
with open('通讯录.txt', 'w', encoding='utf-8') as f1:
# for Key, Value in dict1.items():
# s = "%s:%s" % (Key, Value)
# f1.write(s+'\n')
# str1.append(s)
f1.write(str(dict1))
print('成功添加'+name_str+'为联系人')
# 将数据封装到字典中
# 将字典转换为str,然后再使用write()写入到通讯录的文本文件中
# ********** End **********
# 显示联系人信息
def show_info(self):
f2 = open("通讯录.txt", mode='r', encoding='utf-8')
# 如果通讯录.txt文件不为空时,执行下面代码
if len(f2.read()) != 0:
# ********** Begin **********
f2.seek(0)
dic1=eval(f2.read())
print('请输入要查询的姓名:')
name = input()
# lines = f2.readlines()
# for i in lines:
# dict2=json.loads(i)
if name==dic1['姓名']:
for key,vaules in dic1.items():
print(key, vaules, sep=':')
# print(f2.read())
else:
print('联系人不存在')
# 读取通讯录.txt文件中的内容
# 处理字符串
# 获取所有联系人的姓名
# ********** End **********
else:
print("通讯录为空")
f2.close()
def main(self):
while True:
self.show_menu()
# 判断用户输入的功能指令
action_str = input("请选择操作功能:\n")
if action_str.isdigit() is True:
if int(action_str) == 1:
self.add_info()
elif int(action_str) == 2:
self.show_info()
elif int(action_str) == 0:
sys.exit()
else:
print('请输入正确的指令')
# 创建一个TelephoneBook类对象,调用main()方法
if __name__ == '__main__':
tb = TelephoneBook()
tb.main()
educoder通讯录
最新推荐文章于 2022-05-17 19:23:54 发布