分文件编写:
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
运行截图: