Shadow丶S 2021-07-01 15:07 采纳率: 75%
浏览 9

请问这个python程序显示全部联系人时怎么没有QQ

import os

file_name = 'contact.txt'

def menu(): print("=====================欢迎使用通讯录=====================") print("菜单********") print("* 1.新建联系人 ") print(" 2.查找联系人 ") print(" 3.删除联系人 ") print(" 4.修改联系人 ") print(" 5.显示联系人信息 ") print(" 0.退出 *") print("=====================================================")

def main(): while True: menu() choice = int(input("请输入0-5选择:")) if choice in [0, 1, 2, 3, 4, 5]: if choice == 0: print("谢谢使用!") break elif choice == 1: insert() elif choice == 2: search() elif choice == 3: delete() elif choice == 4: modify() elif choice == 5: display()

def insert(): contact_list = [] while True: name = input("请输入联系人姓名:") if not name: break number = input("请输入联系人手机号:") if not number: break

    try:
        sex = input("请输入联系人性别:")
        address = input("请输入联系人地址:")
        qq = input("请输入联系人qq号:")
    except:
        print("输入错误,请重新输入")
        continue
    contact = {'name': name,'number': number, 'sex': sex,
               'address': address, 'qq': qq}
    contact_list.append(contact)
    answer = input('是否继续添加?y/n\n')
    if answer == 'y':
        continue
    else:
        break
save(contact_list)
print("联系人输入完毕!")

def save(list): try: cont_txt = open(file_name, 'a', encoding='utf-8') except: cont_txt = open(file_name, 'w', encoding='utf-8') for item in list: cont_txt.write(str(item) + '\n') cont_txt.close()

def search(): contact_query = [] while True: number = '' name = '' if os.path.exists(file_name): mode = input("按手机号查找请输入1,按姓名查找请输入2:") if mode == '1': number = input("请输入手机号:") elif mode == '2': name = input("请输入姓名:") else: print("===========输入错误,请重新输入==========") search() with open(file_name, 'r', encoding='utf-8') as rfile: contact = rfile.readlines() for item in contact: d = dict(eval(item)) if number != '': if d['number'] == number: contact_query.append(d) elif name != '': if d['name'] == name: contact_query.append(d) display_contact(contact_query) contact_query.clear() answer = input('是否继续查询y/n\n') if answer == 'y': continue else: break else: print("暂未保存联系人信息") return

def display_contact(list): if len(list) == 0: print("没有查询到联系人信息,无数据显示!!") return format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}' print(format_title.format('姓名', '手机号', '性别', '地址', 'qq')) format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}' for item in list: print(format_data.format(item.get('name'), item.get('number'), item.get('sex'), item.get('address'), item.get('qq')))

def delete(): while True: contact_name = input(("请输入删除的联系人姓名:")) if contact_name != ' ': if os.path.exists(file_name): with open(file_name, 'r', encoding='utf-8')as file: contact_old = file.readlines() else: contact_old = [] flag = False if contact_old: with open(file_name, 'w', encoding='utf-8')as wfile: d = {} for item in contact_old: d = dict(eval(item)) if d['name'] != contact_name: wfile.write(str(d) + '\n') else: flag = True if flag: print(f'名字为{contact_name}的联系人已被删除') else: print(f'无联系人信息!') else: print('无联系人信息') break display() answer = input('是否继续删除?y/n\n') if answer == 'y': continue else: break

def modify(): display() if os.path.exists(file_name): with open(file_name, 'r', encoding='utf-8') as rfile: contact_old = rfile.readlines() else: return contact_number = input("请输入要修改的联系人姓名:") with open(file_name, 'w', encoding='utf-8')as wfile: for item in contact_old: d = dict(eval(item)) if d['name'] == contact_number: print("找到该联系人!") while True: try: d['number'] = input("请输入手机号:") d['sex'] = input("请输入性别:") d['address'] = input("请输入地址:") d['qq'] = input("请输入qq:") except: print("您的输入有误,请重新输入!") else: break wfile.write(str(d) + '\n') print("修改成功!") else: wfile.write(str(d) + '\n') answer = input('是否继续修改其他联系人信息y/n\n') if answer == 'y': modify()

def display(): contact_list = [] if os.path.exists(file_name): with open(file_name, 'r', encoding='utf-8') as rfile: contacts = rfile.readlines() for item in contacts: contact_list.append(eval(item)) if contact_list: display_contact(contact_list) else: print('暂未保存过数据!!!')

main()

  • 写回答

1条回答 默认 最新

  • 碧池阿蒂拉 2021-07-01 15:13
    关注

    你排版贴成这样自己看得懂吗

    评论

报告相同问题?

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使