社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
目录
Python 基础 之 Pycharm 实现简单的名片管理系统
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。
使用 Pycharm 实现简单的名片的管理系统,并不是很难,关键是用来加强自己 Python 的基础学习。
简单的名片的管理系统功能包括:1、新建名片;2、显示名片;3、查询修改删除名片;
1、Python 列表的使用;
2、Python 字典的使用;
3、Python 函数的封装;
4、input() 和 print() 的使用;
5、注意事项: 1)Python有严格的代码要求,Python 一行代码一个功能;
2)Python 有严格的代码是否缩进;
1、打开 Pycharm ,新建一个工程,如下图
2、在工程中新建两个脚本,card_main.py 用来作为程序的入口,card_tool.py 实现名片系统的增删改查等功能
3、把 card_main.py 设置为运行的脚本,如下图
4、编写对应名片系统的显示界面,以及增删改查功能的代码,然后运行效果如下
1、card_main.py
import card_tool
# 无限循环
while True:
# 显示菜单
card_tool.show_menu()
actor_str = input("请输入您的操作:")
print("您的操作是【%s】" % actor_str)
if actor_str in ("1", "2", "3"):
# pass 占位符
# 1、保证结构正确性;2、不做任何处理; 3、方便程序后期补全
# TODO(XAN) 新建名片
if actor_str == "1":
card_tool.new_card()
# 显示全部
elif actor_str == "2":
card_tool.show_all()
# 查看名片
elif actor_str == "3":
card_tool.search_card()
pass
elif actor_str == "0":
print("欢迎再次使用【名片管理系统】")
break
# pass
else:
print("您输入的不正确,请重新输入")
2、card_tool.py
# 名片列表
card_list = []
def show_menu():
"""显示菜单栏"""
print("*" * 50)
print("欢迎来到【名片管理系统】 v 1.0")
print("")
print("1. 新建名片")
print("2. 显示全部")
print("3. 查看名片")
print("")
print("0. 退出系统")
print("*" * 50)
def new_card():
"""新建名片"""
print("-" * 50)
print("新建名片")
# 显示要添加的项目
name_str = input("请输入姓名:")
phone_str = input("请输入电话:")
qq_str = input("请输入QQ:")
email_str = input("请输入邮箱:")
# 把信息添加到字典中
card_dict = {
"Name": name_str,
"Phone": phone_str,
"QQ": qq_str,
"Email": email_str
}
# 把信息字典添加到名片列表中
card_list.append(card_dict)
# print(card_list)
# 提示用户添加成功
print("添加成功:%s" % name_str)
def show_all():
"""显示全部"""
print("-" * 50)
print("显示全部")
# 如果列表为空,提示用户新增名片,并返回
if len(card_list) == 0:
print("名片数据为空,请新建名片")
return
# 表头
for name in ["姓名", "电话", "QQ", "邮箱"]:
print(name, end="tt")
print("")
# 分割线
print("=" * 50)
# 显示列表信息
for card_dict in card_list:
print("%stt%stt%stt%s" % (card_dict["Name"],
card_dict["Phone"],
card_dict["QQ"],
card_dict["Email"]))
def search_card():
"""查看名片"""
print("-" * 50)
print("查看名片")
# 提示要查看的名片姓名
find_name = input("查看名片的姓名:")
# 遍历列表进行查询,并显示查到内容和操作提示,否则提示没有找到
for card_dict in card_list:
if card_dict["Name"] == find_name:
print("姓名tt电话ttQQtt邮箱")
print("=" * 50)
print("%stt%stt%stt%s" % (card_dict["Name"],
card_dict["Phone"],
card_dict["QQ"],
card_dict["Email"]))
# TODO(XAN) 针对查找到的数据进行修改或者删除操作
deal_card(card_dict)
break
else:
print("名片列表中没有此人")
def deal_card(find_dict):
""" 处理名片信息
:param find_dict: 名片信息
"""
# 提示用户的操作
actor_str = input("请选择您的操作:"
"【1】修改 【2】删除 【0】返回上一级菜单:")
if actor_str == "1":
find_dict["Name"] = input_card_info(find_dict["Name"], "姓名[回车不修改内容]:")
find_dict["Phone"] = input_card_info(find_dict["Phone"], "电话[回车不修改内容]:")
find_dict["QQ"] = input_card_info(find_dict["QQ"], "QQ[回车不修改内容]:")
find_dict["Email"] = input_card_info(find_dict["Email"], "邮箱[回车不修改内容]:")
print("修改名片成功")
elif actor_str == "2":
card_list.remove(find_dict)
print("删除名片成功")
def input_card_info(dict_value, tip_message):
""" 需修改名片字典内容,输入为空则保留原值
:param dict_value: 要修改的字典值
:param tip_message: 输入提示信息
:return: 返回最后修改的值
"""
# 提示用户修改内容
result_str = input(tip_message)
# 判断输入是否为空,为空 保留原值,不为空 修改值
if len(result_str) > 0:
return result_str
# 返回内容
return dict_value
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!