码迷,mamicode.com
首页 > 其他好文 > 详细

一个简易的通讯录.py

时间:2018-03-18 22:29:50      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:查找   inpu   相互   lin   you   bsp   简单   电话号码   程序   

看到简明python教程    

第16章:创建你自己的命令行 地址簿 程序:在这个程序中,你可以

添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮
件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。

思路:利用字典,名字作为key,信息作为value

进阶:储存到本地.TXT中。实现TXT与字典格式的相互转换

下面为比较简陋的代码,实现了新增、查找、删除等简单功能。有一些提示语还可以完善。

 


 

#联系人信息删除函数

13 import os
14 #主函数
15 people={}#创建字典
16 while(1):#一直运行
17     people_file=E:\\test.txt
18     first=raw_input(Enter 1 for input name,Enter 2 for find name,Enter 3 for delect name:)
19     if(first==1):#add
20         name_add=raw_input("Enter name you want to add:")
21         kind_add=raw_input("Enter kind you want to add:")
22         number_add=raw_input("Enter number you want to add:")
23         E_mail_add=raw_input("Enter E_mail you want to add:")      
24         people[name_add]=kind_add,number_add,E_mail_add #写入字典
25         f=open(people_file,a)#以追加模式打开文件
26         for (key,value) in people.items():
27             f.write(%s:%s\n%(key,value))#将字典写入txt
28         f.close()
29            
30     elif(first==2):#find
31         find_name=raw_input("Enter name you want to find:")
32         flag=0
33         f=open(people_file,r)#以只读模式打开文件
34         lines=dict(line.strip().split(:) for line in f if line)#将文件内容转换为字典模式,怎么个流程暂时不懂
35         for (key,value) in lines.items():
36             if(key==find_name):
37                     print lines[find_name]
38                     f.close()
39                     flag=1
40                     break
41         if(flag==0):
42             print can not find this people
43 
44             
45     elif(first==3):#delect  先读出,再删除,再重写
46         del_name=raw_input("Enter name you want to delect:")
47 
48         f=open(people_file,r)#以只读模式打开文件
49         lines=dict(line.strip().split(:) for line in f if line)#将文件内容转换为字典模式,怎么个流程暂时不懂
50         f.close()#关闭文件
51         for (key,value) in lines.items():
52             if(key==del_name):                
53                 del lines[del_name]
54                 print delect:,del_name
55         f=open(people_file,w)#以覆盖模式打开文件
56         for (key,value) in lines.items():
57             f.write(%s:%s\n%(key,value))#将字典写入txt
58             print %s:%s%(key,value)
59         f.close()
60 

 

一个简易的通讯录.py

标签:查找   inpu   相互   lin   you   bsp   简单   电话号码   程序   

原文地址:https://www.cnblogs.com/yangxiao-tech/p/8597674.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!