基于python3基础课程,编写名片管理系统训练,有利于熟悉python基础代码的使用。
cards_main.py
#! /usr/bin/python3 import cards_tools # 无线循环,由用户决定什么时候退出系统 while True: # 显示功能菜单 cards_tools.show_menu() action_str = input(\"请选择希望执行的操作:\") print(\"\\n\\n\\n\\n\\n您选择的操作是 【%s】 \" % action_str) # 1,2,3 针对名片的操作 if action_str in [\"1\", \"2\", \"3\"]: # 1. 新增名片的处理 if action_str == \"1\": cards_tools.new_card() # 2. 显示所有名片 elif action_str == \"2\": cards_tools.show_all() # 3. 查询名片 elif action_str == \"3\": cards_tools.search_card() # 0 退出系统 elif action_str == \"0\": print(\"欢迎再次使用【名片管理系统】\") break # 如不希望立即编写分支的代码,用pass占位,可以保证程序代码结构的正确 # pass # 其他内容输入错误,需要提示用户 else: print(\"您输入的不正确,请重新选择\")
cards_tools.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(\"新增名片\")
# 1. 提示用户输入名片的详细信息
name_str = input(\"请输入姓名:\")
phone_str = input(\"请输入电话:\")
qq_str = input(\"请输入QQ:\")
email_str = input(\"请输入邮箱:\")
# 2. 使用用户输入的信息建立名片字典
card_dict = {\"name\" : name_str,
\"phone\" : phone_str,
\"qq\" : qq_str,
\"email\" : email_str}
# 3. 将名片字典添加到列表中
card_list.append(card_dict)
print(card_dict)
# 4. 提示用户添加成功
print(\"\\n\\n\\n\\n\\n添加 %s 的名片成功\" % name_str)
def show_all():
\"\"\"显示所有名片\"\"\"
print(\"-\" * 50)
print(\"显示所有名片\")
# 判断是否存在名片记录,如果没有,提示用户并且返回
if len(card_list) == 0:
print(\"当前没有任何名片记录,请增加名片\")
# return 可以返回一个函数的执行结果
# 下方的代码不会执行
# 如果 return 后面没有任何内容,表示会返回到调用函数的位置
# 并且不返回任何结果
return
# 打印表头
for name in [\"姓名\", \"电话\", \"QQ\", \"邮箱\"]:
print(name, end=\"\\t\\t\")
print(\"\")
# 打印分割线
print(\"=\" * 50)
# 遍历名片列表一次输出字典信息
for card_dict in card_list:
print(\"%s\\t\\t%s\\t\\t%s\\t\\t%s\" % (card_dict[\"name\"],
card_dict[\"phone\"],
card_dict[\"qq\"],
card_dict[\"email\"]))
def search_card():
\"\"\"搜索名片\"\"\"
print(\"-\" * 50)
print(\"搜索名片\")
# 1. 提示用户输入要搜索的姓名
find_name = input(\"请输入要搜索的姓名:\")
# 2. 遍历名片列表,查询要搜索的姓名,如果没有找到需要提示用户
for card_dict in card_list:
if card_dict[\"name\"] == find_name:
print(\"姓名\\t\\t电话\\t\\tQQ\\t\\t邮箱\")
print(\"=\" * 50)
print(\"%s\\t\\t%s\\t\\t%s\\t\\t%s\" % (card_dict[\"name\"],
card_dict[\"phone\"],
card_dict[\"qq\"],
card_dict[\"email\"]))
# 针对找到的名片进行修改或删除操作
deel_card(card_dict)
break
else:
print(\"抱歉,没有找到 %s\" % find_name)
def deel_card(find_dict):
\"\"\"处理找到的名片
:param find_dict: 搜索到的名片
\"\"\"
print(find_dict)
action_str = input(\"请选择要执行的操作 \"
\"1 修改 2 删除 0 返回上一级\")
if action_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 action_str == \"2\":
card_list.remove(find_dict)
print(\"删除名片成功!\")
elif action_str == \"0\":
show_menu()
def input_card_info(dict_value, tip_message):
\"\"\"输入名片信息
:param dict_value:字典中原有的值
:param tip_message:输入提示文字
:return:如果用户输入了内容就返回内容,否则返回原有的值
\"\"\"
# 1. 提示输入修改的信息
result_str = input(tip_message)
# 2. 如果有输入时,返回输入的信息
if len(result_str) > 0:
return result_str
# 3. 如果没有输入,返回原来的值
else:
return dict_value
源码下载:python3实现名片管理系统
更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
Python中fnmatch模块的使用详情
-
降云十八掌——阿里云运维架构最佳实践(上)
2026-05-19栏目: 教程
-
降云十八掌——阿里云运维架构最佳实践(下)
2026-05-19栏目: 教程
-
RPA:企业信息孤岛的“克星”
2026-05-19栏目: 教程
-
我家的小猫咪
2026-05-19栏目: 教程
-
如何创建云企业网
2026-05-19栏目: 教程
