最近用python写了一个通讯录,过程很艰难,但还是写出来了。

import os
os.mkdir("address")
fp=open("./address/address_book.txt","w+")
list=[]
def add():
    print("-------------输入老铁信息吧-----------")
    name=input("输入老铁姓名:")
    tel=input("输入老铁电话号码:")
    address=input("输入老铁地址:")
    student_number=input("输入老铁学号:")
    dict={"name": name,"tel":tel,"address":address,"student_number":student_number}
    list.append(dict)
    print("添加%s联系人成功!" % name)
    choice=input("是否要继续添加老铁呢?(Y/N):")
    if choice  == "Y":
        add()
def modify():
    print("--------修改老铁菜单--------")
    print(" 1-按姓名修改 2-按电话修改")
    print(" 3-按学号修改 0-返回主菜单")
    command1=input("请选择你所需要的服务:")
    if command1=="1":
        modify_name()
    elif command1=="2":
        modify_tel()
    elif command1=="3":
        modify_student_number()
    elif command=="0":
        show_search()
    else:
        print("请输入有效数字:")
        modify()
def show_search():
    print("----------显示和查询老铁----------")
    print("    1-显示所有  2-按姓名查询   ")
    print("    3-按电话查询    4-按学号查询    ")
    print("    0-返回主菜单 ")
    command2= input("请选择您所需要的服务:")
    if command2=="1":
        show_all()
    elif command2=="2":
        search_name()
    elif command2=="3":
        search_tel()
    elif command2=="4":
        search_student_number()
    elif command=="0":
        main_menu()
    else:
        print("请输入有效数字:")
        show_search()
def delete():
    print("----删除老铁菜单-----")
    print(" 1-删除所有  2-删除单个")
    print(" 3-返回主菜单")
    command3 = input("请选择你所需要的服务:")
    if command3=="1":
        delete_all_name()
    elif command3=="2":
        delete_name()
    elif command3=="3":
        main_menu()
    else:
        print("请输入有效数字:")
        delete()
def show_all():
    print("------------显示所有老铁信息-----------")
    if len(list)==0:
        print("当前无联系人,请新增联系人!")
        add()
    for dict in list:
        print("姓名:%s"%(dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    print("-------------------------------------")
def search_name():
    find_name=input("请输入要查找的姓名:")
    if  dict["name"] == find_name:
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        show_search()
def search_tel():
    find_tel = input("请输入要查找的电话号码:")
    if dict["tel"] == find_tel:
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        show_search()
def search_student_number():
    find_student_number = input("请输入要查找的学号:")
    if dict["student_number"] == find_student_number:
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        show_search()
def modify_name():
    find_name = input("请输入要查找的姓名:")
    if dict["name"] == find_name:
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
        dict["name"] = input("请输入修改后的姓名:")
        dict["tel"] = input("请输入修改后的电话号码:")
        dict["address"] = input("请输入修改后的地址:")
        dict["student_number"] = input("请输入修改后的学号:")
        print("--------修改后的联系人信息------")
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        modify()
def modify_tel():
    find_tel = input("请输入要查找的电话号码:")
    if dict["tel"] == find_tel:
        print("%s,%s,%s,%s"
              % (dict["name"], dict["tel"],
                 dict["address"], dict["student_number"]))
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
        print("--------修改后的联系人信息------")
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        modify()
def modify_student_number():
    find_student_number = input("请输入要查找的学号:")
    if dict["student_number"] == find_student_number:
        print("--------修改前的联系人信息------")
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
        dict["name"]=input("请输入修改后的姓名:")
        dict["tel"] = input("请输入修改后的电话号码:")
        dict["address"] = input("请输入修改后的地址:")
        dict["student_number"] = input("请输入修改后的学号:")
        print("--------修改后的联系人信息------")
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        modify()
def delete_name():
    find_name = input("请输入要查找的姓名:")
    if dict["name"] == find_name:
        print("姓名:%s" % (dict["name"]))
        print("电话号码:%s" % (dict["tel"]))
        print("地址:%s" % (dict["address"]))
        print("学号:%s" % (dict["student_number"]))
    else:
        print("抱歉,没有此联系人!")
        delete()
    for e in range(len(list)-1,-1,-1):
        if list[e]["name"]==find_name:
            list.pop(e)
    print("删除该联系人成功!")
def delete_all_name():
    list.remove(dict)
    print("删除所有联系人成功!")
def main_menu():
    print("|-------欢迎您使用甘棠的老铁信息管理系统-------|")
    print("|        1-添加联系人    2-查询联系人          |")
    print("|        3-删除联系人    4-修改联系人          |")
    print("|        5-保存退出      0-保存不退出          |")
    print("------------------------------------------------")
while True:
    main_menu()
    command = input("请选择您所需要的服务:")
    if command == "1":
         add()
         for dict in list:
            fp.write(str(dict))
    elif command == "2":
        show_search()
    elif command == "3":
        delete()
    elif command == "4":
        modify()
    elif command == "5":
        print("通讯录已保存")
        print("欢迎下次使用")
        fp.close()
        break
    elif command == "0":
        continue
    else:
        print("请输入有效数字:")