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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

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

發(fā)布時(shí)間:2023/12/13 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python课程设计编写电子通讯录_用Python实现简单通讯录 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)簡(jiǎn)單的通訊錄例子

#!/usr/bin/python

__author__ = 'fierce'

#coding:utf-8

import os #引用os模塊

import pickle #應(yīng)用pickle模塊

Path='/home/Person.data' #全局變量,這里是通訊錄物理路徑

#判斷通訊錄是否存在,不存在則創(chuàng)建空通訊錄

if os.path.exists(Path) == False: #判斷通訊錄是否存在

f=open((Path),'wb') #以二進(jìn)制寫模式打開通訊錄

temp={'total': 0} #局部變量,用于計(jì)算通訊錄的人數(shù)

pickle.dump(temp,f) #將對(duì)象temp保存到f中

f.close() #關(guān)閉f

else:

pass #空函數(shù)

#添加聯(lián)系人

def add(): #自定義添加函數(shù)

f=open((Path),'rb') #以二進(jìn)制讀模式打開通訊錄

a=pickle.load(f) #從f中讀取信息為數(shù)組的形式

f.close #關(guān)閉f

b=0 #自定義局部變量

name = input('請(qǐng)輸入要添加聯(lián)系人的姓名:') #獲取輸入,這里是姓名

for key in a.keys(): #循環(huán)key為自定義,a.keys()為從通訊錄讀出來所有key

b+=1 #自定義變量自增

if key==name and b <= a['total']+1: #判斷,滿足條件執(zhí)行

print("聯(lián)系人已存在,添加失敗!")

break #跳出循環(huán)

if b==a['total']+1 and key != name: #判斷,滿足條件執(zhí)行

number = input('請(qǐng)輸入號(hào)碼:') #獲取輸入

information={name : number} #附值

a['total']+=1 #total+1

a.update(information) #更新a對(duì)象

f=open((Path),'wb') #以二進(jìn)制寫模式打開通訊錄

pickle.dump(a,f) #把a(bǔ)對(duì)象寫入f

f.close() #關(guān)閉f

print('添加成功')

break #跳出循環(huán)

#顯示所有聯(lián)系人

def showall():

f = open((Path),'rb')

a=pickle.load(f)

print("一共有{}個(gè)聯(lián)系人.".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("{}的號(hào)碼是:{}".format(name,a[key]))

break

if b==a['total']+1 and key != name:

print("聯(lián)系人不存在")

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("聯(lián)系人不存在!無法刪除!")

break

#修改

def change():

x=input("請(qǐng)輸入所要修改的聯(lián)系人姓名:")

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("請(qǐng)輸入修改后的號(hào)碼:")

a[key]=y

f=open((Path),'wb')

pickle.dump(a,f)

f.close()

print("修改成功!")

break

if b==a['total']+1 and key != name:

print("聯(lián)系人不存在")

break

#界面

def point():

print("*****************************")

print("顯示提示信息:*")

print("顯示所有聯(lián)系人:0")

print("查找聯(lián)系人:1")

print("添加聯(lián)系人:2")

print("刪除聯(lián)系人:3")

print("更改聯(lián)系人資料:4")

print("退出通訊錄:5")

print("*****************************")

point()

#主進(jìn)程

while True: #循環(huán)

x=input("請(qǐng)輸入您的選擇:") #獲取輸入

if x == 2: #判斷輸入

add() #調(diào)用添加函數(shù)

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

if x == 0:

showall() #調(diào)用顯示全部函數(shù)

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

if x == 5:

exit() #調(diào)用推出函數(shù)

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

if x == 1:

name = input("請(qǐng)輸入所要查找的聯(lián)系人姓名:")

search(name) #調(diào)用查找函數(shù),需要傳一個(gè)參數(shù):姓名

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

if x == 3:

name = input("請(qǐng)輸入所要?jiǎng)h除的聯(lián)系人姓名:")

deleate(name) #調(diào)用刪除函數(shù),需要傳一個(gè)參數(shù):姓名

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

if x == 4:

change() #調(diào)用修改函數(shù)

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

if x == '*':

point()

else:

print("輸入選項(xiàng)不存在,請(qǐng)重新輸入!")

continue #結(jié)束本次循環(huán),重新開始下一輪循環(huán)

總結(jié)

以上是生活随笔為你收集整理的python课程设计编写电子通讯录_用Python实现简单通讯录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。