包含python實現通信錄的詞條

本文目錄一覽:

python用單鏈表寫一個通訊錄,包括添加,刪除(可恢復),查找等基本功能

///////////list3.c實現鏈表的插入刪除查找

#include

#include

#include

typedef

struct

LNode

//////////定義數據結構體

{

int

num;

char

name[20];

struct

LNode*

next;

}*Link;

///////////定義一個指針類型

typedef

struct

{

Link

head,tail;

int

len;

}LinkList;

LinkList

*gList;

void

MenuInfo();

void

InputData(LinkList

*mList);

void

OutputData(LinkList

*mList);

void

InsertData(LinkList

*mList,int

n);

Link

SearchNode(LinkList

*mList,int

n);

void

DeleteData(LinkList

*mList,int

n);

void

main()

{

int

_choice;

int

_quit=0;

int

n=0;

gList=(LinkList

*)malloc(sizeof(LinkList));

gList-head=gList-tail=NULL;

do

{

MenuInfo();

scanf(“%d”,_choice);

switch(_choice)

python:編寫一個通訊錄管理程序,實現通訊錄文件建立,讀取,添加記錄,查找記錄的功能。

可以將數據存儲在列表裡

然後再將列表保存到文件里

通過對列表的操作動態更改存儲在文件里的內容

如果有文件的話程序啟動時從文件里加載數據保存到列表即可

如果代碼不想自己寫的話

我可以有償代勞

用python實現簡單通訊錄 大學生水平即可 越簡單越好 其中較複雜的地方注釋一下 謝謝~

自己實現一個排序的dict,python文檔上好像都有一個例子,

pcike模塊保存到文件

python簡單的好友通訊錄管理程序怎麼做

friend={ ‘小明’:[‘001’, ‘廣州’],’小紅’:[‘002′,’深圳’],’小王’:[‘003′,’北京’]}

model=input(“model:”)

if model==’1′:

print(“好友添加:”,end=”)

new_friend=input(“newfriend:name,number,address”)

friend_n=list(new_friend.split(‘,’))

friend[friend_n[0]] =friend_n[1:3] # 添加

# friend4=dict.fromkeys([friend_n[0]],friend_n[1:3])

print(“friend: “, friend)

elif model==’2′:

print(“好友刪除:”,end=”)

new_friend = input(“name”)

# del friend[ new_friend] # 刪除鍵是’Name’的條目

try:

friend.pop(new_friend)

print(“friend: “, friend)

except:

print(“查無此人”)

elif model==’3′:

print(“好友修改:”, end=”)

new_friend = input(“name”)

friend[new_friend]=list(input(“number,address”).split(‘,’))

print(“friend: “, friend)

else:

print(“好友查詢:”, end=”)

new_friend = input(“name”)

try:

print(new_friend,’:’, friend[new_friend])

except:

print(“查無此人”)

以上程序包含了整個流程,有刪贈改查功能,還有利用異常處理的處理過程。

求python 通訊錄原代碼

我做的,文件信息保存在excel文件中,希望能幫助你,添加功能只需模仿就可以了

# -*- coding: cp936 -*-

import wx

import os

import copy

from mytools import Excell

wildcard = “note source (*.xsl)|*.xls|”\

“All files (*.*)|*.*”

class TestFrame(wx.Frame):

def __init__(self):

wx.Frame.__init__(self,None,-1,”account input”)

self.panel = wx.Panel(self)

self.topLbl = wx.StaticText(self.panel,-1,”帳戶信息”)

self.topLbl.SetFont(wx.Font(18,wx.SWISS,wx.NORMAL,wx.BOLD))

self.nameLbl = wx.StaticText(self.panel,-1,”姓名:”)

self.name = wx.TextCtrl(self.panel,-1,”阮班勇”)

self.addrLbl = wx.StaticText(self.panel,-1,”地址:”)

self.addr = wx.TextCtrl(self.panel,-1,””)

self.addr2 = wx.TextCtrl(self.panel,-1,””)

self.cstLbl = wx.StaticText(self.panel,-1,”市,縣,村:”)

self.city = wx.TextCtrl(self.panel,-1,””)

self.state = wx.TextCtrl(self.panel,-1,””)

self.zip = wx.TextCtrl(self.panel,-1,””)

self.phoneLbl = wx.StaticText(self.panel,-1,”電話:”)

self.phone = wx.TextCtrl(self.panel,-1,””)

self.qqLbl = wx.StaticText(self.panel,-1,”QQ:”)

self.qq = wx.TextCtrl(self.panel,-1,””)

self.emailLbl = wx.StaticText(self.panel,-1,”Email:”)

self.email = wx.TextCtrl(self.panel,-1,””)

self.saveBtn = wx.Button(self.panel,-1,”保存”)

self.Bind(wx.EVT_BUTTON,self.OnSave,self.saveBtn)

self.Bind(wx.EVT_CLOSE,self.OnCloseWindow)

self.cancelBtn = wx.Button(self.panel,-1,”刪除”)

self.Bind(wx.EVT_BUTTON,self.OnCancel,self.cancelBtn)

self.saveAsBtn = wx.Button(self.panel,-1,”新建”)

self.Bind(wx.EVT_BUTTON,self.OnSaveAs,self.saveAsBtn)

self.exitBtn = wx.Button(self.panel,-1,”退出”)

self.Bind(wx.EVT_BUTTON,self.OnExit,self.exitBtn)

self.data = {“姓名”:1,”地址”:2,”市”:3,”縣”:4,”村”:5,

“電話”:6,”QQ”:8,”email”:7}

self.dataStr=”姓名 地址 市 縣 村 電話 QQ email”.split()

self.olddata={“1”:1}

self.row = 2

mainSizer = wx.BoxSizer(wx.VERTICAL)

mainSizer.Add(self.topLbl,0,wx.ALL,5)

mainSizer.Add(wx.StaticLine(self.panel),0,wx.EXPAND|wx.TOP|wx.BOTTOM,5)

addrSizer = wx.FlexGridSizer(cols=2,hgap=5,vgap=5)

addrSizer.AddGrowableCol(1)

addrSizer.Add(self.nameLbl,0,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)

addrSizer.Add(self.name,1,wx.EXPAND)

addrSizer.Add(self.addrLbl,1,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)

addrSizer.Add(self.addr,1,wx.EXPAND)

addrSizer.Add((10,10))

addrSizer.Add(self.addr2,1,wx.EXPAND)

addrSizer.Add(self.cstLbl,1,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)

cstSizer = wx.BoxSizer(wx.HORIZONTAL)

cstSizer.Add(self.city,1)

cstSizer.Add(self.state,0,wx.LEFT|wx.RIGHT,5)

cstSizer.Add(self.zip,)

addrSizer.Add(cstSizer,1,wx.EXPAND)

addrSizer.Add(self.phoneLbl,1,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)

addrSizer.Add(self.phone,1,wx.EXPAND)

addrSizer.Add(self.qqLbl,1,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)

addrSizer.Add(self.qq,1,wx.EXPAND)

addrSizer.Add(self.emailLbl,1,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)

addrSizer.Add(self.email,1,wx.EXPAND)

mainSizer.Add(addrSizer,0,wx.EXPAND,10)

btnSizer = wx.BoxSizer(wx.HORIZONTAL)

btnSizer.Add((20,20),1)

btnSizer.Add(self.saveBtn)

btnSizer.Add((20,20),1)

btnSizer.Add(self.saveAsBtn)

btnSizer.Add((20,20),1)

mainSizer.Add(btnSizer,0,wx.EXPAND,15)

btnSizer2 = wx.BoxSizer(wx.HORIZONTAL)

btnSizer2.Add((20,20),1)

btnSizer2.Add(self.cancelBtn)

btnSizer2.Add((20,20),1)

btnSizer2.Add(self.exitBtn)

btnSizer2.Add((20,20),1)

mainSizer.Add(btnSizer2,1,wx.EXPAND|wx.BOTTOM,10)

self.panel.SetSizer(mainSizer)

mainSizer.Fit(self)

mainSizer.SetSizeHints(self)

self.bFirst = True

self.created = False

def OnSave(self,event):

if self.bFirst and not self.created:

dlg = wx.FileDialog(self, message=”Save file as …”, defaultDir=r’D:\My Documents’,

defaultFile=””, wildcard=wildcard, style=wx.OPEN)

if dlg.ShowModal() == wx.ID_OK:

path = dlg.GetPath()

self.myExcell = Excell.easyExcel(path)

else:

return

self.bFirst = False

row = self.myExcell.getEmptyRow(“sheet1”)

self.row = row

self.saveData()

def saveData(self):

self.data[“姓名”] = self.name.GetValue()

self.data[‘地址’] = self.addr.GetValue()

self.data[‘市’] = self.city.GetValue()

self.data[‘縣’] = self.state.GetValue()

self.data[‘地址’] += self.addr2.GetValue()

self.data[‘村’] = self.zip.GetValue()

self.data[‘電話’] = self.phone.GetValue()

self.data[’email’] = self.email.GetValue()

self.data[‘QQ’] = self.qq.GetValue()

bsave = True

if self.olddata == self.data:

t = wx.MessageBox(“與上次數據相同是否保存?”,style=wx.OK|wx.CANCEL)

print t

if t == wx.CANCEL:

bsave = False

if bsave and self.data[“姓名”] == u”阮班勇”:

t = wx.MessageBox(“你是DOC阮嗎,真的要保存他嗎?”,style=wx.OK|wx.CANCEL)

print t

if t == wx.CANCEL:

bsave = False

if bsave :

self.olddata =copy.copy( self.data)

wx.MessageBox(“保存成功!”)

col = 1

for value in self.dataStr:

self.myExcell.setCell(‘sheet1’,1,col,value)

self.myExcell.setCell(‘sheet1’,self.row,col,self.data[value])

col +=1

self.myExcell.save()

self.row+=1

def OnCloseWindow(self,event):

if not self.bFirst:

self.myExcell.close()

print ‘dedeted’

self.Destroy()

def OnCancel(self,event):

self.name.SetValue(“”)

self.addr.SetValue(“”)

self.addr2.SetValue(“”)

self.city.SetValue(“”)

self.state.SetValue(“”)

self.zip.SetValue(“”)

self.qq.SetValue(“”)

self.phone.SetValue(“”)

self.email.SetValue(“”)

def OnSaveAs(self,event):

dlg = wx.FileDialog(

self, message=”Save file as …”, defaultDir=r’D:\My Documents’, wildcard=wildcard, style=wx.SAVE)

if dlg.ShowModal() == wx.ID_OK:

path = dlg.GetPath()

self.myExcell = Excell.easyExcel()

self.created = True

self.myExcell.save(path)

self.saveData()

def OnExit(self,event):

self.Close(True)

if __name__ == ‘__main__’:

app = wx.PySimpleApp()

frame =TestFrame()

frame.Show()

app.MainLoop()

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/188407.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 13:30
下一篇 2024-11-28 13:30

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論