本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下
系统需求
程序启动,显示名片管理系统欢迎界面,并显示功能菜单
**************************************************
欢迎使用【名片管理系统】v1.0
1. 新建名片
2. 显示全部
3. 查询名片
0. 退出系统
**************************************************
- 用户用数字选择不同的功能
- 根据功能选择,执行不同的功能
- 用户名片需要记录用户的 姓名、电话、qq、邮件
- 如果查询到指定的名片,用户可以选择 修改 或者 删除 名片
- 信息保存本地
需求分析
- 采用分文件的方式进行开发,主文件cards_main.py复杂业务逻辑,cards_tool.py文件负责具体的功能实现。
- 新建名片、显示全部、查询名片 对应相应的功能函数。如果代码过长,再进行拆分。
- 数据结构的选择?一条名片包含多个键值对采用字典数据类型,所有名片信息 采用列表数据结构。
- 保证名片信息的本地保存和读取使用python的文件操作,进入名片系统先对名信息文件进行读取,在退出名片系统时,将所有名片信息重新写入到名片文件中。
代码实现
代码很简洁,注释太多 容易凌乱。
cards_main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import cards_tool # 主业务逻辑 cards_tool.read_card() # 1.显示用户主界面 while true: cards_tool.show_menu() menu_str = input ( "请选择执行的操作:" ) print ( "您选择的功能:%s" % menu_str) if menu_str = = "1" : cards_tool.create_card() elif menu_str = = "2" : cards_tool.show_card_all() elif menu_str = = "3" : cards_tool.search_card() elif menu_str = = "0" : cards_tool.write_card() break else : print ( "输入有误,请重新输入" ) |
cards_tool.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
import os card_info_all = [] # 所有名片信息 # 名片管理 具体功能 def write_card(): """退出系统时,将名片信息保存到文件夹中""" f = open ( "e:\\workspace_python\\firstdemo\\名片管理系统.txt" , "w" ) f.write( str (card_info_all)) f.close() def read_card(): """进入系统时,将名片信息加载到内存中""" is_exist = os.path.exists( "e:\\workspace_python\\firstdemo\\名片管理系统.txt" ) if is_exist: # 文件存在将信息加载到内存中 f = open ( "e:\\workspace_python\\firstdemo\\名片管理系统.txt" , "r" ) global card_info_all card_info_all = eval (f.read()) # print(card_info_all) f.close() else : # 没有文件创建空文件 f = open ( "e:\\workspace_python\\firstdemo\\名片管理系统.txt" , "w" ) f.close() print (is_exist) def show_menu(): """主菜单页面展示""" print ( "*" * 30 ) print ( "欢迎使用[命名管理系统] v1.0" ) print () print ( "1.新建名片" ) print ( "2.显示全部" ) print ( "3.查询名片" ) print () print ( "0.退出系统" ) print ( "*" * 30 ) def create_card(): """新建名片""" print ( "功能:新建名片" ) name = input ( "请输入姓名:" ) phone = input ( "请输入电话:" ) qq = input ( "请输入qq号:" ) email = input ( "请输入邮箱:" ) card_info = { "name" :name, "phone" :phone, "qq" :qq, "email" :email} card_info_all.append(card_info) print ( "添加%s的名片成功" % name) def show_card_all(): """显示所有名片""" print ( "功能:显示全部" ) if not len (card_info_all): print ( "没有任何名片" ) return print ( "name" .ljust( 14 ), "phone" .ljust( 14 ), "qq" .ljust( 14 ), "email" .ljust( 14 ),sep = "") print ( "-" * 56 ) for card in card_info_all: print (card[ "name" ].ljust( 14 ),card[ "phone" ].ljust( 14 ),card[ "qq" ].ljust( 14 ),card[ "email" ].ljust( 14 ),sep = "") print ( "-" * 56 ) def search_card(): """查询名片""" print ( "功能:查询名片" ) name = input ( "请输入查询的姓名:" ) for card in card_info_all: if name = = card[ "name" ]: print ( "name" .ljust( 14 ), "phone" .ljust( 14 ), "qq" .ljust( 14 ), "email" .ljust( 14 ), sep = "") print ( "-" * 56 ) print (card[ "name" ].ljust( 14 ), card[ "phone" ].ljust( 14 ), card[ "qq" ].ljust( 14 ), card[ "email" ].ljust( 14 ),sep = "") # 名片高级处理 set_card(card) break ; else : print ( "没有找到%s" % name) def set_card(card): """名片的高级设置""" while true: menu = input ( "请输入对名片的操作:1.修改/ 2.删除/ 0.返回上一级" ) if menu = = "1" : name = input ( "请输入姓名:" ) phone = input ( "请输入电话:" ) qq = input ( "请输入qq号:" ) email = input ( "请输入邮箱:" ) card[ "name" ] = name card[ "phone" ] = phone card[ "qq" ] = qq card[ "email" ] = email print ( "%s 的名片修改成功" % name) return elif menu = = "2" : card_info_all.remove(card) print ( "删除名片成功" ) return elif menu = = "0" : return else : print ( "输入有误,请重新输入" ) |
代码运行结果
练习总结
这个小练习主要是对python基础知识的综合运用,入手python 这些基本知识一定要掌握,有过其他编程语言经验的小伙伴是不是感觉很简单。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_29542611/article/details/79052860