python课程设计编写电子通讯录_用Python实现简单通讯录
一個簡單的通訊錄例子
#!/usr/bin/python
__author__ = 'fierce'
#coding:utf-8
import os #引用os模塊
import pickle #應用pickle模塊
Path='/home/Person.data' #全局變量,這里是通訊錄物理路徑
#判斷通訊錄是否存在,不存在則創建空通訊錄
if os.path.exists(Path) == False: #判斷通訊錄是否存在
f=open((Path),'wb') #以二進制寫模式打開通訊錄
temp={'total': 0} #局部變量,用于計算通訊錄的人數
pickle.dump(temp,f) #將對象temp保存到f中
f.close() #關閉f
else:
pass #空函數
#添加聯系人
def add(): #自定義添加函數
f=open((Path),'rb') #以二進制讀模式打開通訊錄
a=pickle.load(f) #從f中讀取信息為數組的形式
f.close #關閉f
b=0 #自定義局部變量
name = input('請輸入要添加聯系人的姓名:') #獲取輸入,這里是姓名
for key in a.keys(): #循環key為自定義,a.keys()為從通訊錄讀出來所有key
b+=1 #自定義變量自增
if key==name and b <= a['total']+1: #判斷,滿足條件執行
print("聯系人已存在,添加失敗!")
break #跳出循環
if b==a['total']+1 and key != name: #判斷,滿足條件執行
number = input('請輸入號碼:') #獲取輸入
information={name : number} #附值
a['total']+=1 #total+1
a.update(information) #更新a對象
f=open((Path),'wb') #以二進制寫模式打開通訊錄
pickle.dump(a,f) #把a對象寫入f
f.close() #關閉f
print('添加成功')
break #跳出循環
#顯示所有聯系人
def showall():
f = open((Path),'rb')
a=pickle.load(f)
print("一共有{}個聯系人.".format(a['total']))
for key in a.keys():
if key != 'total':
print("{""}:{""}".format(key,a[key]))
f.close
#推出通訊錄
def exit():
exec("quit()")
#查找
def search(name):
f = open((Path),'rb')
a=pickle.load(f)
b=0
for key in a.keys():
b+=1
if key==name and b<=a['total']+1:
print("{}的號碼是:{}".format(name,a[key]))
break
if b==a['total']+1 and key != name:
print("聯系人不存在")
break
#刪除
def deleate(name):
f=open((Path),'rb')
a=pickle.load(f)
f.close()
b=0
for key in a.keys():
b+=1
if key==name and b<=a['total']+1:
a.pop(name)
a['total']-=1
f=open((Path),'wb')
pickle.dump(a,f)
f.close()
print("刪除成功!")
break
if b==a['total']+1 and key != name:
print("聯系人不存在!無法刪除!")
break
#修改
def change():
x=input("請輸入所要修改的聯系人姓名:")
f=open((Path),'rb')
a=pickle.load(f)
f.close()
b=0
for key in a.keys():
b+=1
if key==x and b<=a['total']+1:
y=input("請輸入修改后的號碼:")
a[key]=y
f=open((Path),'wb')
pickle.dump(a,f)
f.close()
print("修改成功!")
break
if b==a['total']+1 and key != name:
print("聯系人不存在")
break
#界面
def point():
print("*****************************")
print("顯示提示信息:*")
print("顯示所有聯系人:0")
print("查找聯系人:1")
print("添加聯系人:2")
print("刪除聯系人:3")
print("更改聯系人資料:4")
print("退出通訊錄:5")
print("*****************************")
point()
#主進程
while True: #循環
x=input("請輸入您的選擇:") #獲取輸入
if x == 2: #判斷輸入
add() #調用添加函數
continue #結束本次循環,重新開始下一輪循環
if x == 0:
showall() #調用顯示全部函數
continue #結束本次循環,重新開始下一輪循環
if x == 5:
exit() #調用推出函數
continue #結束本次循環,重新開始下一輪循環
if x == 1:
name = input("請輸入所要查找的聯系人姓名:")
search(name) #調用查找函數,需要傳一個參數:姓名
continue #結束本次循環,重新開始下一輪循環
if x == 3:
name = input("請輸入所要刪除的聯系人姓名:")
deleate(name) #調用刪除函數,需要傳一個參數:姓名
continue #結束本次循環,重新開始下一輪循環
if x == 4:
change() #調用修改函數
continue #結束本次循環,重新開始下一輪循環
if x == '*':
point()
else:
print("輸入選項不存在,請重新輸入!")
continue #結束本次循環,重新開始下一輪循環
總結
以上是生活随笔為你收集整理的python课程设计编写电子通讯录_用Python实现简单通讯录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现程序安装_使用pytho
- 下一篇: 明日方舟朝陇山故事相关资料