演示文稿主題怎么設(shè)置啊(怎么將演示文稿主題設(shè)置)
1029
2022-05-30
目標(biāo):搭建名片管理系統(tǒng) 框架結(jié)構(gòu)
通過本項目的學(xué)習(xí),學(xué)員可以了解項目開發(fā)的流程,掌握項目需求分析、設(shè)計與功能的代碼實現(xiàn)。提高同學(xué)們獨立分析需求與功能實現(xiàn)的能力。
項目知識點:變量、流程控制、函數(shù)、模塊等python基礎(chǔ)中常用的知識點。
使用python設(shè)計一個名片管理系統(tǒng),能提供下列服務(wù):
程序啟動,顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單
用戶用數(shù)字選擇不同的功能
根據(jù)功能選擇,執(zhí)行不同的功能
用戶名片需要記錄用戶的?姓名、電話、QQ、郵件
如果查詢到指定的名片,用戶可以選擇?修改?或者?刪除?名片
程序源碼
card_list = [] def card(): print('新增名片') name = input('姓名:') phone = input('電話:') qq = input('qq:') email = input('郵箱:') card_d = {'name': name, 'phone': phone,'qq': qq,'email': email} card_list.append(card_d) print('成功添加%s的名片' % card_d['name']) def show(): print('顯示全部') if len(card_list) == 0: print('沒有任何名片記錄') return print('姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱') for card_d in card_list: print('%s\t\t%s\t\t%s\t\t%s\t\t' % (card_d['name'],card_d['phone'],card_d['qq'],card_d['email'])) def search(): print('搜索名片') find_name = input('請輸入要搜索的姓名:') for card_d in card_list: if card_d['name'] == find_name: print('姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱') print('%s\t\t%s\t\t%s\t\t%s' % (card_d['name'],card_d['phone'],card_d['qq'],card_d['email'])) deal_card(card_d) break else: print('沒有找%s的名片' % find_name) def deal_card(find_d): b = input('請選擇要進(jìn)行的操作:1.修改 2.刪除 3.返回主菜單') if b == '1': find_d['name'] = input("姓名") find_d['phone'] = input("電話") find_d['qq'] = input("qq") find_d['email'] = input("郵箱") print('修改名片成功') elif b == '2': card_list.remove(find_d) print('刪除名片成功') def paixu(): print("請輸入排序的項目:\n1.根據(jù)電話號碼排序\n2.根據(jù)qq排序\n3.根據(jù)郵箱排序") b = input() if b in ['1', '2', '3', ]: if b == '1': card_list.sort(key=lambda s: int(s["phone"][:])) print('姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱') for card_d in card_list: print('%s\t\t%s\t\t%s\t\t%s\t\t' % (card_d['name'], card_d['phone'], card_d['qq'], card_d['email'])) if b == '2': card_list.sort(key=lambda s: int(s["qq"][:])) print('姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱') for card_d in card_list: print('%s\t\t%s\t\t%s\t\t%s\t\t' % (card_d['name'], card_d['phone'], card_d['qq'], card_d['email'])) if b == '3': card_list.sort(key=lambda s: int(s["email"][:8])) print('姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱') for card_d in card_list: print('%s\t\t%s\t\t%s\t\t%s\t\t' % (card_d['name'], card_d['phone'], card_d['qq'], card_d['email'])) while True: print("—"*10) print("歡迎使用名片管理系統(tǒng)\n1.新增名片\n2.顯示全部\n3.搜索名片\n4.排序系統(tǒng)\n0.退出系統(tǒng)") a = input("請選擇序號:") if a in ["1", "2", "3","4"]: if a == "1": card() elif a == "2": show() elif a == "3": search() elif a == "4": paixu() elif a == "0": print("已退出") break else: print("輸入錯誤,請重新輸入:")
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
1.1引言
傳統(tǒng)的手工方式,數(shù)據(jù)容易丟失,在統(tǒng)計時易發(fā)生錯誤高,速度慢。而使用計算機(jī)可以提高工作速度以及數(shù)據(jù)的準(zhǔn)確性。從而提高了管理效率。在計算機(jī)聯(lián)網(wǎng)后,數(shù)據(jù)在網(wǎng)上傳遞,可以實現(xiàn)數(shù)據(jù)共享,避免重復(fù)勞動,名片管理系統(tǒng)以計算機(jī)為工具,通過對所需信息的管理,把管理員從繁瑣的數(shù)據(jù)計算處理中解脫出來。為用戶節(jié)省很多時間跟精力,提高用戶的工作效率。
隨著計算機(jī)的普及,越來越多的管理系統(tǒng)應(yīng)運而生。同時,隨著人們交往范圍的不斷擴(kuò)大,我們需要同更多的人保持交流和聯(lián)系,尤其是已經(jīng)參加了工作的公司職員,除了熟悉的朋友,還有很多的客戶,我們都要時不時的同他們保持聯(lián)系,這時個人名片管理系統(tǒng)就可以派上用場了。
個人名片管理系統(tǒng)是用于輔助個人完成其名片有序管理的計算機(jī)軟件系統(tǒng),系統(tǒng)實施的目的旨在幫助用戶完成其私人名片管理的數(shù)字化,以提供較手工方式下更高的效率和更低的出錯率。
電子名片管理系統(tǒng)要實現(xiàn)的目標(biāo)是:
將用戶目前在處理名片管理工作時所采用的手工處理方式進(jìn)行計算機(jī)化,從而與整個辦公自動化系統(tǒng)的數(shù)字化趨勢相協(xié)調(diào),以求為用戶提供更為專業(yè)和高效的個人管理服務(wù)。
1.2任務(wù)概述
本系統(tǒng)屬于人員信息管理系統(tǒng)中名片管理模塊,實現(xiàn)網(wǎng)絡(luò)管理系統(tǒng)中關(guān)于名片管理的子功能。通過此軟件,提高用軟件工程分析問題、解決問題的能力,同時增強(qiáng)對數(shù)據(jù)庫和python的使用能力。
目標(biāo):搭建名片管理系統(tǒng) 框架結(jié)構(gòu)
準(zhǔn)備文件,確定文件名,保證能夠 在需要的位置 編寫代碼
編寫 主運行循環(huán),實現(xiàn)基本的 用戶輸入和判斷
1.3數(shù)據(jù)描述
1.靜態(tài)數(shù)據(jù):
所謂靜態(tài)數(shù)據(jù),指在運行過程中主要作為參考的數(shù)據(jù),它們在很長的一段時間內(nèi)不會變化,一般不隨運行而改變。
2.動態(tài)數(shù)據(jù):
所謂動態(tài)數(shù)據(jù).包括所有在運行中要發(fā)生變化的數(shù)據(jù)以及在運行中要輸入、輸出的數(shù)據(jù)。
3.系統(tǒng)流程圖:
1.4功能需求
程序啟動,顯示名片管理系統(tǒng)歡迎界面,并顯示功能菜單
用戶用數(shù)字選擇不同的功能
根據(jù)功能選擇,執(zhí)行不同的功能
用戶名片需要記錄用戶的 姓名、電話、QQ、郵件
將用戶輸入的數(shù)據(jù)排序,可以對電話,QQ,郵件的大小排序
如果查詢到指定的名片,用戶可以選擇 修改 或者 刪除 名片
提示用戶依次輸入名片信息
將名片信息保存到一個字典
將字典添加到名片列表
提示名片添加完成
1.5性能需求
用戶進(jìn)入系統(tǒng)在終端輸入0~4數(shù)字序號,如果輸入其他字符會顯示“輸入錯誤,請重新輸入”,輸出會以字符型輸出相關(guān)內(nèi)容。在名片管理模塊中,我們可以新建名片,可以修改名片,可以刪除名片資料,對名片列表進(jìn)行了顯示,提高用戶體驗。
1.6運行需求
(1)、數(shù)據(jù)精確度
進(jìn)行操作請求時,如:名片錄入、名片刪除、名片修改、名片查詢時,應(yīng)保證輸入數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)的相匹配性。而在滿足用戶請求時,系統(tǒng)應(yīng)保證所響應(yīng)數(shù)據(jù)的正確性和全而性。
(2)、時間性
為滿足用戶高效要求,數(shù)據(jù)的響應(yīng)時間、更新處理時間、數(shù)據(jù)轉(zhuǎn)換與傳輸時間、運行時間都應(yīng)在可接受范圍之內(nèi)。
第二章概要設(shè)計
2.1總體設(shè)計
設(shè)計主函數(shù)和部分功能的子函數(shù),包括運行時的主菜單。首先函數(shù)運行時會彈出一個主菜單,然后輸入數(shù)字選擇操作,如圖2.1.1主菜單。
圖2.1.1 主菜單
1
2.2數(shù)據(jù)類型定義
def card(): 新增名片函數(shù)
def show(): 顯示全部名片函數(shù)
def search(): 搜索名片函數(shù)
def deal_card(find_d): 刪除名片函數(shù)
def xiugai(c,d): 修改名片函數(shù)
def paixu(): 對名片進(jìn)行排序
2.3接口設(shè)計
表2.3:函數(shù)列表
函數(shù)名 函數(shù)格式 //即函數(shù)首部 函數(shù)功能
card def card(): 新增名片
show def show(): 顯示全部名片
search def search(): 搜索名片
deal_card def deal_card(find_d): 刪除名片
xiugai def xiugai(c,d): 修改名片
paixu def paixu(): 名片排序
2.4運行界面設(shè)計
以“—”為分割線,運行頁面以簡便友好的初衷設(shè)計,讓用戶可以輕松使用。
代碼實現(xiàn):
print("—"*10)
print(“歡迎使用名片管理系統(tǒng)\n1.新增名片\n2.顯示全部\n3.搜索名片\n4.排序系統(tǒng)\n0.退出系統(tǒng)”)
a = input(“請選擇序號:”)
if a in [“1”, “2”, “3”,“4”]:
if a == “1”:
card()
elif a == “2”:
show()
elif a == “3”:
search()
elif a == “4”:
paixu()
elif a == “0”:
print(“已退出”)
break
else:
print(“輸入錯誤,請重新輸入:”)
第三章詳細(xì)設(shè)計
3.1添加模塊設(shè)計
使用 字典 記錄 每一張名片 的詳細(xì)信息
使用 列表 統(tǒng)一記錄保存所有的 名片字典
根據(jù)步驟實現(xiàn)代碼:
def card():
print(‘新增名片’)
name = input(‘姓名:’)
phone = input(‘電話:’)
qq = input(‘qq:’)
email = input(‘郵箱:’)
card_d = {‘name’: name, ‘phone’: phone,‘qq’: qq,‘email’: email}
card_list.append(card_d)
print(‘成功添加%s的名片’ % card_d[‘name’])
3.2顯示全部名片模塊設(shè)計
首先提示進(jìn)入顯示所有名片模塊,然后將card_list中的信息循環(huán)輸出,如果鏈表為空,則提示沒有任何名片錄入。
代碼實現(xiàn):
def show():
print(‘顯示全部’)
if len(card_list) == 0:
print(‘沒有任何名片記錄’)
return
print(‘姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱’)
for card_d in card_list:
print(’%s\t\t%s\t\t%s\t\t%s\t\t’ % (card_d[‘name’],card_d[‘phone’],card_d[‘qq’],card_d[‘email’]))
3.3查詢模塊設(shè)計
提示用戶要搜索的姓名,根據(jù)用戶輸入的姓名遍歷列表,搜索到指定的名片后,再執(zhí)行后續(xù)的操作。
代碼實現(xiàn)
def search():
print(‘搜索名片’)
find_name = input(‘請輸入要搜索的姓名:’)
for card_d in card_list:
if card_d[‘name’] == find_name:
print(‘姓名\t電話\tQQ\t郵箱’)
print(’%s\t%s\t%s\t%s’ % (card_d[‘name’],card_d[‘phone’],card_d[‘qq’],card_d[‘email’]))
deal_card(card_d)
break
else:
print(‘沒有找%s的名片’ % find_name)
3.4刪除和修改名片模塊設(shè)計
3.4.1刪除模塊
查詢成功后刪除名片,由于找到的字典記錄已經(jīng)在列表中保存,要刪除名片記錄,只需要把列表中對應(yīng)的字典刪除即可。
代碼實現(xiàn):
elif b == ‘2’:
card_list.remove(find_d)
print(‘刪除名片成功’)
3.4.2修改模塊
由于找到的字典記錄已經(jīng)在列表中保存要修改名片記錄,只需要把列表中對應(yīng)的字典中每一個鍵值對的數(shù)據(jù)修改即可。
代碼實現(xiàn):
if b == ‘1’:
find_d[‘name’] = xiugai(find_d[‘name’], ‘姓名:’)
find_d[‘phone’] = xiugai(find_d[‘phone’], ‘電話:’)
find_d[‘qq’] = xiugai(find_d[‘qq’], ‘QQ:’)
find_d[‘email’] = xiugai(find_d[‘email’], ‘郵箱:’)
print(‘修改名片成功’)
3.5排序模塊
根據(jù)鏈表card_list,只要使用sort快排函數(shù)即可完成排序,card_list.sort(key=lambda s: int(s[“phone”][:]))。首先設(shè)b來獲取需要排序的項目,實現(xiàn)對電話號,qq,郵箱的排序功能。
代碼實現(xiàn):
print(“請輸入排序的項目:\n1.根據(jù)電話號碼排序\n2.根據(jù)qq排序\n3.根據(jù)郵箱排序”)
b = input()
if b in [‘1’, ‘2’, ‘3’, ]:
if b == ‘1’:
card_list.sort(key=lambda s: int(s[“phone”][:]))
print(‘姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱’)
for card_d in card_list:
print(’%s\t\t%s\t\t%s\t\t%s\t\t’ % (card_d[‘name’], card_d[‘phone’], card_d[‘qq’], card_d[‘email’]))
if b == ‘2’:
card_list.sort(key=lambda s: int(s[“qq”][:]))
print(‘姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱’)
for card_d in card_list:
print(’%s\t\t%s\t\t%s\t\t%s\t\t’ % (card_d[‘name’], card_d[‘phone’], card_d[‘qq’], card_d[‘email’]))
if b == ‘3’:
card_list.sort(key=lambda s: int(s[“email”][:8]))
print(‘姓名\t\t電話\t\t\t\tQQ\t\t\t\t郵箱’)
for card_d in card_list:
print(’%s\t\t%s\t\t%s\t\t%s\t\t’ % (card_d[‘name’], card_d[‘phone’], card_d[‘qq’], card_d[‘email’]))
第四章測試分析
4.1測試程序執(zhí)行情況
4.2出現(xiàn)的問題和解決的方法
修改完之后,修改的程序無法運行,認(rèn)真檢查之后發(fā)現(xiàn)代碼中有一個變量打錯了,導(dǎo)致整個子函數(shù)無法運行,修改之后,正常運行。在測試中發(fā)現(xiàn)在主頁面如果輸入非0~3字符會報錯,添加else語句進(jìn)行提示就解決了這個問題。
while True:
print(“歡迎使用名片管理系統(tǒng)\n1.新增名片\n2.顯示全部\n3.搜索名片\n0.退出系統(tǒng)”)
if a in [“1”, “2”, “3”,“4”]:
if a == “1”:
card()
elif a == “2”:
show()
elif a == “3”:
search()
elif a == “4”:
paixu()
elif a == “0”:
print(“已退出”)
break
else:
print(“輸入錯誤,請重新輸入:”)
break
else:
print(“輸入錯誤,請重新輸入:”)
第五章實訓(xùn)總結(jié)
一周的課程設(shè)計結(jié)束了,在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在設(shè)計過程中,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。我學(xué)會了運籌帷幄,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世,這次課程設(shè)計對我來說受益良多。
課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程.“千里之行始于足下”,通過這次課程設(shè)計,我深深體會到這句千古名言的真正含義.我今天認(rèn)真的進(jìn)行課程設(shè)計,學(xué)會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎(chǔ)。我這次設(shè)計的科目是名片管理系統(tǒng)。
通過這次設(shè)計,我在多方面都有所提高。
很多程序在結(jié)構(gòu)上是獨立的,但是本此設(shè)計的程序功能不是零散的,它有一個連接是的程序是一個整體對以后的學(xué)習(xí)充滿了信心和期待通過這次的課程設(shè)計,更是讓我深刻認(rèn)識到自己在學(xué)習(xí)中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以后的時間中,我們應(yīng)該利用更多的時間去上機(jī)實驗,加強(qiáng)自學(xué)的能力,多編寫程序,相信不久后我們的編程能力都會有很大的提高能設(shè)計出更多的更有創(chuàng)新的作品。
Python 項目管理 ProjectMan
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。