7.5 客服电话薄(project)

目录

第1关 创建客服电话字典

第2关 客服电话查询

第3关 电话簿更新

第4关 删除某公司电话


为了完成本关任务,你需要掌握:

1.读文件 2.构建字典类型数据

构建字典类型数据

以公司或单位为键,以电话号码为值创建字典。

1.用字典推导式创建字典 2.用给字典的键赋值的方法创建字典

customer service number.txt

编程要求

“customer service number.txt”中包含一些单位的95开头的客服短号码和少量其他客服电话号,以单位名为键,以电话号为值构建字典,用户输入一个公司名,当公司名存在时,从字典中删除该公司的元素,返回提示信息“****电话*****成功删除”;公司名不存在时,返回“公司名“****”不存在”。

测试说明

平台会对你编写的代码进行测试,输入输出参考示例:

示例输入: 中国电信

示例输出: 中国电信电话10000成功删除

示例输入: 中国电脑

示例输出: 公司名“中国电脑”不存在

第1关 创建客服电话字典

def read_txt(file: str) -> dict:
    """参数为表示文件名的字符串,读取文件file中的数据。
    以公司名为键、电话号码为值构建包含各公司客服电话的字典,返回字典。
    """
    # 补充你的代码
    dic = {}
    with open(file, 'r', encoding='utf-8') as f:
        for x in f:                       # 遍历文件对象  
            x = x.strip().split(',', maxsplit=1)     # 每行根据空格切分为列表,只切分一次  
            dic.update({x[0]: x[1]})
    print(dic.items())  


if __name__ == '__main__':
    filename = '/data/bigfiles/customer service number.txt'
    phone_dic = read_txt(filename)  # 读文件返回字典
    # 补充你的代码输出字典视图
    

第2关 客服电话查询

def read_txt(file: str) -> dict:
    """参数为表示文件名的字符串,读取文件file中的数据,构建包含各公司客服电话的字典,公司名为键,电话号码为值,返回字典。"""
    # 补充你的代码
    dic = {}
    list1 =[]
    with open(file, 'r', encoding='utf-8') as f:
        for x in f:                       # 遍历文件对象  
            x = x.strip().split(',', maxsplit=1)     # 每行根据空格切分为列表,只切分一次  
            dic.update({x[0]: x[1]})    # 列表的两个元素作为字典的键和值加入字典中
        return dic


def query_get(company: str, tel_book: dict) -> str:
    """参数 company为表示公司名的字符串,参数 tel_book是字典。
    查询该公司的客服电话号码,返回“用户名:电话号码”的字符串。
    若公司不存在,则在电话号码位置替换为“***不存在”,***表示公司名
    """
    # 补充你的代码
    if company in phone_dic:
        return company + ':' + phone_dic[company]
    else:
        return company + ':' + company+'客服电话不存在'

if __name__ == '__main__':
    filename = '/data/bigfiles/customer service number.txt'
    phone_dic = read_txt(filename)    # 读文件到字典
    comp = input()                    # 输入公司名
    print(query_get(comp,phone_dic))  # 输出查询结果

第3关 电话簿更新

def read_txt(file: str) -> dict:
    """参数为表示文件名的字符串,读取文件file中的数据,构建包含各公司客服电话的字典,公司名为键,电话号码为值,返回字典。"""
    # 补充你的代码
    dic = {}                                    # 创建空字典  
    with open(filename, 'r', encoding='utf-8') as data:  
        for x in data:                          # 遍历文件对象  
            x = x.strip().split(',',maxsplit=1)     # 每行根据空格切分为列表,只切分一次  
            dic.update({x[0]: x[1]})    # 列表的两个元素作为字典的键和值加入字典中  
    return dic

def update_tel_book(company: str, tel_book: dict) -> None:
    """接受公司名与电话簿字典,若公司名存在,调用修改函数,否则调用插入函数
    无返回值"""
    if company in tel_book:
        print(modify_number(company, tel_book))
    else:
        print(add_number(company, tel_book))


def modify_number(company:str, tel_book:dict):
    """接受公司名与电话簿字典,输出提示:'姓名已存在,输入"Y"或"y"修改,其他字符退出'
    输入'Y'后再输入一个新电话号码,将用户的电话号码修改为新值,
    返回'成功修改****电话为*****';输入其他字符时返回'放弃更新****电话'并退出。
    """
    print(f'{company}电话为{tel_book[company]}')
    print('公司信息已存在,输入"Y"或"y"修改电话号码,其他字符退出')
    # 补充你的代码
    content = input()
    if content == ("Y" or "y"):
        print('请输入新的电话号码:')
        tel_add = input()
        phone_dic[company] = tel_add
        return f'成功更新{company}电话为{tel_add}'
    else:
        return f'放弃更新{company}电话'


def add_number(company, tel_book):
    """接受公司名和电话簿字典为参数,用户输入一个电话号码,为字典增加一个以公司名中键,以电话号为值的元素
    返回'成功添加{company}客服电话为{phone_number}'
    """
    print('请输入电话号码:')
    # 补充你的代码
    phone_number = input()
    phone_dic[company] = phone_number
    return f'成功添加{company}客服电话为{phone_number}'



if __name__ == '__main__':
    filename = '/data/bigfiles/customer service number.txt'
    phone_dic = read_txt(filename)
    comp = input()                    # 输入要修改信息或新增的公司名
    update_tel_book(comp, phone_dic)  # 更新字典中的数据

第4关 删除某公司电话

本关任务:编写一个能删除一条客服电话的小程序。

相关知识

为了完成本关任务,你需要掌握: 1.删除字典的值

删除字典的值

1.pop(key) 2.del dic[key]

customer service number.txt

def read_txt(file: str) -> dict:
    """参数为表示文件名的字符串,读取文件file中的数据,构建包含各公司客服电话的字典,公司名为键,电话号码为值,返回字典。"""
    # 补充你的代码
    dic = {}
    list1 =[]
    with open(file, 'r', encoding='utf-8') as f:
        for x in f:                       # 遍历文件对象  
            x = x.strip().split(',', maxsplit=1)     # 每行根据空格切分为列表,只切分一次  
            dic.update({x[0]: x[1]})    # 列表的两个元素作为字典的键和值加入字典中
        return dic


def del_number(company:str, tel_book:dict)->str:
    """参数 company表示公司名的字符串,参数 tel_book为通讯录字典。
    从字典中删除某公司的信息,删除成功返回提示信息“****电话*****成功删除”
    否则返回“公司名“****”不存在”
    """
    # 补充你的代码
    if company in phone_dic: #
        del_number = phone_dic[company]
        del phone_dic[company]
        return f'{company}电话{del_number}成功删除' 
    else:
        return f'公司名“{company}”不存在'


if __name__ == '__main__':
    filename = '/data/bigfiles/customer service number.txt'
    phone_dic = read_txt(filename)
    comp = input()                      # 输入要删除信息的公司名
    print(del_number(comp, phone_dic))  # 输出删除结果提示信息
 

 

人在舒适区待久了,就容易不思进取、安于现状。如果每天只是机械重复地做同样的事情,见识、能力和格局,很可能会停滞不前。去做一些会带来突破的事,去经历一种从未尝试过的生活。才能领略不一样的风景。人生没有太晚的开始,只要你勇于尝试,敢于挑战新事物,终会有别样的收获。一起加油吧!

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值