Maison > Article > développement back-end > Python implémente un carnet d'adresses en ligne de commande
1. Pour atteindre l'objectif
Écrivez un programme de carnet d'adresses en ligne de commande qui peut ajouter, interroger et supprimer des amis et des numéros de téléphone du carnet d'adresses
2. Méthode de mise en œuvre
Créer une classe pour représenter les informations d'une personne. Utilisez un dictionnaire pour stocker l'objet de chaque personne, avec le nom comme clé.
Utilisez le module pickle pour stocker ces objets de manière permanente.
Utilisez les méthodes intégrées du dictionnaire pour ajouter, supprimer et modifier des informations sur le personnel.
3. Carte mentale
4 . Écrivez un pseudocode
# 1.创建字典用来存储通讯录信息 # 2.创建人员类,包含姓名、关系、电话三个属性 # 3.创建操作类,包含增加、查询、删除人员,退出,保存并退出五个方法 # 4.程序运行 # 5.判断通讯录文件是否存在 # 6.如果存在,将文件读取到personDictionary字典中 # 7.如果不存在,提示并创建 # 8.while循环等待读取指令 # 9.如果指令为addperson,添加通讯录人员 # 10.如果指令为delperson,删除通讯录人员 # 11.如果指令为search,查找通讯录人员 # 12.如果指令为quit,不保存退出程序 # 13.如果指令为sq,保存更改并退出程序
5. Écrivez du code basé sur un pseudocode
import pickle as p import os # 1.创建字典用来存储通讯录信息 personDictionary= {'name':{'relationship':'','tel':''}} relationshipList=['家人','朋友','同事'] # 2.创建人员类,包含姓名、关系、电话三个属性 class Person: def __init__(self,name,relationship= relationshipList[1],tel='None'): personDictionary[name]= {'relationship':relationship,'tel':tel} # 3.创建操作类,包含增加、查询、删除人员,退出,保存并退出五个方法 class Operation: def Addperson(): addname= input('请输入姓名:') addrelationship= int(input('请选择分组(0:家人,1:朋友,2:同事):')) addtel= input('请输入电话:') Person(addname,relationshipList[addrelationship],addtel) def Delperson(): name= input('请输入要删除的联系人姓名:') del personDictionary[name] def Search(): name= input('请输入要查找的联系人的姓名:') if name in personDictionary: print('姓名:%s,关系:%s,电话:%s' %(name,personDictionary[name]['relationship'],personDictionary[name]['tel'])) else: print('联系人不存在。') def Quit(): running= False def SaveQuit(): f= open(addressbookFile,'wb') p.dump(personDictionary,f) f.close() running= False # 4.程序运行 running= True # 5.判断通讯录文件是否存在 addressbookFile= 'addressbook.data' # 6.如果存在,将文件读取到personDictionary字典中 if os.path.exists(addressbookFile): f= open(addressbookFile,'rb') personDictionary= p.load(f) # 7.如果不存在,提示并创建 else: jCommand= input('未找到通讯录文件,是否创建?yes/no ') if jCommand== 'yes': f= open(addressbookFile,'wb') p.dump(personDictionary,f) f.close() elif jCommand== 'no': running= False # 8.while循环等待读取指令 while running: command= input('请输入指令:') # 9.如果指令为addperson,添加通讯录人员 if command== 'addperson': Operation.Addperson() continue # 10.如果指令为delperson,删除通讯录人员 elif command== 'delperson': Operation.Delperson() continue # 11.如果指令为search,查找通讯录人员 elif command== 'search': Operation.Search() continue # 12.如果指令为quit,不保存退出程序 elif command== 'quit': Operation.Quit() break # 13.如果指令为sq,保存更改并退出程序 elif command== 'sq': Operation.SaveQuit() break else: print('未找到指令!') continue
6. Démonstration
Python3 addressbook.py 请输入指令:search 请输入要查找的联系人的姓名:zhangsan 联系人不存在。 请输入指令:addperson 请输入姓名:zhangsan 请选择分组(0:家人,1:朋友,2:同事):1 请输入电话:1234567 请输入指令:search 请输入要查找的联系人的姓名:zhangsan 姓名:zhangsan,关系:朋友,电话:1234567 请输入指令:sq $ Python3 addressbook.py 请输入指令:search 请输入要查找的联系人的姓名:zhangsan 姓名:zhangsan,关系:朋友,电话:1234567 请输入指令:addperson 请输入姓名:lisi 请选择分组(0:家人,1:朋友,2:同事):1 请输入电话:1234567 请输入指令:q 未找到指令! 请输入指令:quit $ Python3 addressbook.py 请输入指令:search 请输入要查找的联系人的姓名:lisi 联系人不存在。 请输入指令:search 请输入要查找的联系人的姓名:zhangsan 姓名:zhangsan,关系:朋友,电话:1234567 请输入指令:quit
Pour plus d'articles liés à l'implémentation Python du carnet d'adresses en ligne de commande, veuillez faire attention au site Web PHP chinois !