日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python课程设计编写电子通讯录_用Python实现简单通讯录

發布時間:2023/12/13 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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实现简单通讯录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。