通過一周的自學python,結(jié)合老師的講解,做出來一個簡單的名片管理系統(tǒng)。接下來結(jié)合運行界面介紹下。
第一部分:系統(tǒng)界面
此處使用的Ubuntu系統(tǒng)演示
一個很簡單的系統(tǒng),就3個功能,初學者哈,大家不要嫌棄,至少有個殼子你在往里面添加就可以,后續(xù)添加再更新。
1.新建功能
操作成功回自己再次回到主界面
2.顯示功能
3.查詢功能
查詢功能應該算是這里面相對來說最難實現(xiàn)的
接下來可以對查詢的表進行修改或者刪除,或者不改變
如果您需要改變,就輸入,不需要就直接回車。
刪除這里就不演示了, 基本上這個簡單的系統(tǒng)就是這個樣子。
接下來直接上代碼。
**cards_main.py**
import
cards_tools
#無限循環(huán),由用戶操作決定啥時候退出系統(tǒng)
while
True
:
#TODO 顯示功能菜單
action_str
=
input
(
"請輸入希望執(zhí)行的操作:"
)
print
(
"你選擇的操作是【%s】"
%
action_str
)
#1, 2, 3針對名片的操作
if
action_str
in
[
"1"
,
"2"
,
"3"
]
:
#如果不想立即編寫分支內(nèi)部
#新增名片
if
action_str
==
"1"
:
cards_tools
.
new_cards
(
)
#顯示全部
elif
action_str
==
"2"
:
cards_tools
.
show_all
(
)
#查詢名片
elif
action_str
==
"3"
:
cards_tools
.
search_card
(
)
# 可以使用pass占位符,保證代碼結(jié)構(gòu)正確
#0 退出系統(tǒng)
elif
action_str
==
"0"
:
print
(
"歡迎再次使用【名片管理系統(tǒng)】"
)
break
;
#pass
#其他輸入錯誤,提示用戶
else
:
print
(
"您輸入的不正確,請重新選擇"
)
**cards_tools.py**
#記錄所有的名片字典
card_list
=
[
]
def
show_menu
(
)
:
"""顯示菜單"""
print
(
"*"
*
50
)
print
(
"歡迎使用【名片管理系統(tǒng)】V 1.0"
)
print
(
""
)
print
(
"1.新增名片"
)
print
(
"2.展示全部"
)
print
(
"3.搜索名片"
)
print
(
""
)
print
(
"0.退出系統(tǒng)"
)
return
(
"*"
*
50
)
#
print
(
show_menu
(
)
)
def
new_cards
(
)
:
"""新增名片"""
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_list
)
#4.提示用戶添加成功
print
(
"添加 %s 的名片成功!"
%
name_str
)
def
show_all
(
)
:
print
(
"-"
*
50
)
print
(
"顯示所有的名片"
)
#判斷是否存在記錄
if
len
(
card_list
)
==
0
:
print
(
"當前沒有任何名片記錄請使用新增加名片"
)
#return可以返回一個函數(shù)的執(zhí)行結(jié)果
#下方的代碼不會執(zhí)行
#如果return后面沒有任何內(nèi)容,表示會返回到調(diào)用的函數(shù)位置
#并且不返回任何結(jié)果
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"
]
)
)
#TODO 針對找到的名片記錄進行刪除和修改
deal_card
(
card_dict
)
break
else
:
print
(
"抱歉,沒有找到 %s"
%
find_name
)
def
deal_card
(
find_dict
)
:
#print("find_dict")
action_str
=
input
(
"請選擇要執(zhí)行的操作 "
"[1] 修改 [2] 刪除 [0] 返回上級(不需要修改直接enter)"
)
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
(
"刪除名片成功"
)
def
input_card_info
(
dict_value
,
tip_message
)
:
"""輸入名片信息
:param dict_value:字典原有值
:param tip_message:輸入的提示文字
:return:輸入新的,就輸出新的,沒有輸出原來的
"""
#1.提示用戶輸入
result_str
=
input
(
tip_message
)
#2.判斷是否輸入,輸入返回結(jié)果
if
len
(
result_str
)
>
0
:
return
result_str
#3.沒有輸入,返回原值
else
:
return
dict_value
# def dele_card():
# # """格式化表格
# # """
# # for card_dict in card_list:
# #
# # card_list.remove(card_dict)
# #
# # if len(card_list) > 0:
# #
# # dele_card() #菜雞增加的格式化代碼
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
