educoder通讯录

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()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值