【Python】简单通讯录小程序实现

分文件编写:
1. ContactMain.py
2. ContactCards.py	

函数列表:
1. MainPage()
2. CreatContact()
3. FindContact()
4. CheckAllContact()
5. UpdateContact()

编译环境:Ubuntu18.04 			Python3 & Pycharm
Shell执行请自行赋予可执行权限(亦可直接解释执行),命令如下:
chmod  -x  FileName.py

File1 Code:

#! /usr/bin/python3.6
# 导入增删改查工具包
import ContactCards

# 无限循环进入功能选择
while True:
    # 显示主页
    ContactCards.MainPage()

    # 接收选项
    OptionKey = input("Input Option:")
    if OptionKey in ["1", "2", "3"]:

        if OptionKey == "1":
            ContactCards.CreatContact()

        elif OptionKey == "2":
            ContactCards.FindContact()

        elif OptionKey == "3":
            ContactCards.CheckAllContact()

    # 退出
    elif OptionKey == "0":
        print("Good Bye~~~")
        break

    # 输入错误
    else:
        print("Input option error\n")


File2 Code:

ContactList = []


def MainPage():
    """首页菜单"""

    print("*" * 50)
    print("\t\t\t\tContact Management")
    print(" ")
    print("\t\t\t1. Creat new contact")
    print("\t\t\t2. Find a contact")
    print("\t\t\t3. Check all contact")
    print("\t\t\t0. EXIT")
    print("*" * 50)


def CreatContact():
    """创建新联系人"""

    # 接收各种信息
    NameTemp = input("Name: ")
    PhoneTemp = input("Phone: ")
    EmailTemp = input("Email: ")
    WechatTemp = input("Wechat: ")

    # 插入到联系人列表
    ContactDict = {"Name": NameTemp, "Phone": PhoneTemp, "Email": EmailTemp, "Wechat": WechatTemp}
    ContactList.append(ContactDict)

    print("-" * 50)
    print("OK! %s Information Add Success!" % ContactDict["Name"])


def FindContact():
    """"查找联系人"""

    # 接收查找联系人姓名
    NameTemp = input("Input Find Name: ")
    print("-" * 50)

    # 遍历查找
    for Temp in ContactList:

        # 找到
        if NameTemp == Temp["Name"]:
            print("Find Success")
            print("=" * 50)
            print("Name\t\tPhone\t\tEmail\t\tWechat")
            print("%s\t\t%s\t\t%s\t\t%s" % (Temp["Name"], Temp["Phone"], Temp["Email"], Temp["Wechat"]))

            # 修改信息选项
            print("Select: [1]Update  [2]Delete  [0]Exit")
            OptionKey = input("Input Option: ")

            # 修改,回车不修改
            if OptionKey == "1":
                Temp["Name"] = UpadteContact(Temp["Name"], input("Name(Input Enter No MOdify): "))
                Temp["Phone"] = UpadteContact(Temp["Phone"], input("Phone(Input Enter No Modify): "))
                Temp["Email"] = UpadteContact(Temp["Email"], input("Email(Input Enter No Modify): "))
                Temp["Wechat"] = UpadteContact(Temp["Wechat"], input("Wechat(Input Enter No Modify): "))
                print("Update success")
                return

            # 删除
            elif OptionKey == '2':
                ContactList.remove(Temp)
                print("Delect Success!")
                return

            # 输入0或者其他
            else:
                return

    # 遍历未找到
    else:
        print("Not Found!")


def CheckAllContact():
    """查看所有联系人"""

    # 联系人为空情况下
    if len(ContactList) == 0:
        print("Contact List NULL!")
        return

    # 有联系人则格式化输出
    print("=" * 50)
    print("Name\t\tPhone\t\tEmail\t\tWechat")

    for Temp in ContactList:
        print("%s\t\t%s\t\t%s\t\t%s" % (Temp["Name"], Temp["Phone"], Temp["Email"], Temp["Wechat"]))
    print("Have %d Constct!" % len(ContactList))


def UpadteContact(SourceInfo, UpdateInfo):
    """作为回车不修改辅助函数"""

    # 有新信息输入
    if len(UpdateInfo) > 0:
        return UpdateInfo

    # 检测没有输入(回车)
    else:
        return SourceInfo

运行截图:
在这里插入图片描述在这里插入图片描述

发布了44 篇原创文章 · 获赞 68 · 访问量 5138

猜你喜欢

转载自blog.csdn.net/qq_25404477/article/details/100114750