您好,登錄后才能下訂單哦!
這篇“python如何實現通訊錄管理系統”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python如何實現通訊錄管理系統”文章吧。
一. 項目要求
利用函數實現通訊錄管理系統,通訊錄的內容包含姓名、聯系方式、微信號、電子郵箱等需要保存的信息。至少要包含姓名和聯系方式兩種。管理系統的功能包括信息的添加、刪除、修改、查詢、顯示、保存的功能。
二.項目步驟
1.使用自定義函數實現每個功能
(1)功能菜單:顯示項目應該具有的功能
(2)添加:輸入要添加的信息
(3)刪除:輸入要刪除的聯系人姓名,刪除其所有的信息
(4)修改:輸入要修改的聯系人姓名,修改其信息
(5)查詢:輸入要查詢的聯系人姓名,遍歷列表,得到其信息
(6)顯示:顯示所有的聯系人信息
(7)保存:將數據保存到文件中
(8)主函數:先顯示菜單,提示用戶輸入要進行的操作代碼,調用相應的函數
2. 當添加、刪除、修改了信息后,要同步保存到文件中
用列表作為全局變量,當列表信息發生變化,調用保存函數
3.編寫一個模塊,在主函數中調用該模塊,測試其功能。完成一個,測試一個,保證所有模塊能正確運行,信息存儲在文本文件中。
4.可以用列表,元組,字典存儲通訊錄信息。假如,現在只存儲姓名和手機號,這里選擇字典,轉換為元組放在列表里保存。
5.初始時,先創建了一個文本文件,文件名為學生姓名,并輸入空列表[]。
三、項目代碼要求:
1. 代碼要有必要的注釋,說明其功能。
2. 要有每個模塊的測試結果。
3. 若有截圖,截圖要清晰。
1.代碼說明
題目要求從模塊中調用函數,因此需要在同一個文件夾下建立兩個python文件:manage.py和main.py. 其中,manage.py中設計函數,main.py中調用manage.py中的函數并實現功能。
2.manage.py
''' 注意: 1.要求輸入的姓名默認全部為合理輸入,并未對輸入內容進行判斷和過濾 2.默認打開的文件已經存在,并沒對文件狀態進行判斷,而是以列表信息中是否存在該學生為依據 3.沒有使用字典的任何操作 4.如果希望將所有學生信息保存在同一個txt文件中,只需將每個函數中file_name重新命名的部分注釋掉 5.修改信息采用的方法是:將原內容刪除,并重新寫入新內容,這么做的原因是電腦要沒電了,這個可以作為自己的測試板塊,重新設計編寫 6.實驗步驟的最后一步 不知道是什么目的,并所以沒有這樣做 7.因為都是采用列表來判斷學生內容,所以文件保存成功后重新運行程序列表清空,即不可再查詢到信息 8.打印所有信息可以采取文件夾下多文件讀取的方法,遍歷該目錄下的所有txt文件,讀出內容并打印,請自行編寫 2021/6/16 新增注意: 1.修改文件內容時,如果將姓名一同修改,則會出現文件名與文件內容中的姓名不同的情況 2.修改文件內容時,如果將該姓名修改為另一個已經出現過的姓名,在列表中將會出現重名情況 3.先沒有處理重名情況的操作 4.同名情況下,如果修改該名字的信息,則將修改第一次出現該名稱的位置的信息 5.因此,如果錯誤1和錯誤2同時發生,文件就會,嗯...串了,就亂套了 ''' #d = {} #字典儲存信息 Student = [] path = "D:\\" #文件保存路徑 默認為空即保存在當前文件夾下 建議新建文件夾并修改路徑 file_name = path + "student.txt" #文件默認保存位置 #顯示命令 def print_message(): print("**************************************") print(" **1.添加學生信息") print(" **2.刪除學生信息") print(" **3.修改學生信息") print(" **4.查找學生信息") print(" **5.查看所有信息") print(" **6.查看操作菜單") #添加信息 def add(): print("請輸入需要添加到姓名、手機號,以空格隔開:") #列表 A = input().split(" ") temp_str = "" for i in A: temp_str += i+" " if temp_str != '/n': #防止錯誤輸入 Student.append(A) #加入列表 file_name = path+A[0] +".txt" print(temp_str, file=open(file_name, 'w')) #創建文件,并寫入文件 如果存在同名文件,則原內容會被覆蓋 #字典 # A = input().split(" ") # Name.append(A[0]) # d[A[0]] = A[1] # print("添加成功") # save(A[0]) # 更新學生信息 #刪除信息 def delete(): print("請輸入需要刪除的姓名:") name = input() #字典刪除 # del d[name] # Name.remove(name) #從文件中刪除學生信息 exist = 0 for i in range(len(Student)): #存在該學生 if Student[i].count(name) > 0: if name == Student[i][0]: file_name = path + name + ".txt" #刪除列表中的信息 Student.pop(i) #刪除文件中的信息 lines = [l for l in open(file_name, "r") if l.find(name, 0, len(name)) != 0] #暫時的刪除方式 fd = open(file_name, "w") #如: 要刪除'張三‘,但‘張三四'也會被刪除 fd.writelines(lines) fd.close() print("刪除成功") exist = 1 #判斷學生是否存在的標簽 break else : exist = 0 if exist == 0: print("未找到該學生的信息!") def delete_2(name,f_n): # 從列表里刪除該學生 for i in range(len(Student)): # 存在該學生 if Student[i].count(name) > 0: if name == Student[i][0]: del Student[i] break #從文件中刪除學生信息 lines = [l for l in open(f_n, "r") if l.find(name, 0, len(name)) != 0] fd = open(f_n, "w") fd.writelines(lines) fd.close() #查詢信息 def search(): print("請輸入需要查詢的姓名:") name = input() #字典查詢 #print("查詢結果:",name,d[name]) exist = 0 for i in range(len(Student)): #存在該學生 這一步判斷有點多余 但是為了簡化打印未找到的結果還是這樣做了 if Student[i].count(name) > 0: if name == Student[i][0]: print("查詢結果: ") for temp in Student[i]: print(temp,end=" ") print() exist = 1 # 判斷學生是否存在的標簽 break else: exist = 0 if exist == 0: print("未找到該學生的信息!") #更改文件信息 def change_file(): print("輸入需要修改信息的學生姓名:") name = input() exist = 0 for i in range(len(Student)): #存在該學生 if Student[i].count(name) > 0: if name == Student[i][0]: # 找到了該學生 # 下面進行修改信息的操作 file_name = path + name + ".txt" print("輸入修改后該學生的所有信息:") A = input().split(" ") temp_str = "" for i in A: temp_str += i + " " if temp_str != '/n': # 防止錯誤輸入 Student.append(A) # 加入列表 delete_2(name,file_name) # 先刪除該信息 print(temp_str, file=open(file_name, 'a')) # 創建文件,并重新寫入文件 print("修改成功") exist = 1 # 判斷學生是否存在的標簽 break else: exist = 0 if exist == 0: print("未找到該學生的信息!") #顯示信息 def printf(): print("所有信息如下:") for i in Student: for j in i: print(j,end=" ") print()
3.main.py
import manage print("**************************************") print(" 歡迎來到學生信息管理系統") manage.print_message() #打印命令指令 print("**************************************") while(True): print("請輸入需要執行的操作(輸入'q‘退出程序):") choice = input() if choice == '1': manage.add() #增 if choice == '2': manage.delete() #刪 if choice == '3': manage.change_file() #改 if choice == '4': manage.search() #查 if choice == '5': manage.printf() #打印 if choice == '6': manage.print_message() # 打印命令指令 if choice == 'q': print("退出!") break
以上就是關于“python如何實現通訊錄管理系統”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。