程序的功能:创建一个的命令行 地址簿 程序。在这个程序中,可以添加、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。
代码很少,如下:
import cPickle as cp
persons = {}
class Person(object):
name = 'unknown'
sex = 'unknown'
age = '0'
relation = 'unknown'
phone = 'unknown'
email = 'unknown'
def __init__(self,name):
self.name = name
def __str__(self):
return "name:%s sex:%s age:%s phone:%s email:%s" % (self.name,self.sex,self.age,self.phone,self.email)
def load():
f = file("addrs.data",'r')
if f.readline():
# file pointer untreads
f.seek(0,0)
persons = cp.load(f)
f.close()
return True
else:
f.close()
return False
def dump():
f = file("addrs.data",'w')
cp.dump(persons,f)
f.close()
def add(name):
if load():
print 'true'
if persons.has_key(name):
s = raw_input("This person exists, do you want to override the information?y or n:")
if s=='n' or s=='N':
return
p = Person(name)
p.sex = raw_input("sex:")
p.age = raw_input('age:')
p.relation = raw_input('relation:')
p.phone = raw_input('phone:')
p.email = raw_input('email:')
persons[name] = p
dump()
def delete(name):
if not load():
print 'no data'
return
#delete the person
if persons.has_key(name):
del persons[name]
print "%s has been deleted" % name
else:
print "no such person"
dump()
def search(name):
if not load():
print 'no data'
return
if persons.has_key(name):
print persons[name]
else:
print 'no such person'
程序很小,不过是我写的第一个完整的python程序,写下来纪念一下
分享到:
相关推荐
标题中的"C语言在vc下编写的Windows窗口小程序 小小计算器"揭示了这是一个使用C语言编程,通过Visual C++(通常简称为VC)环境开发的Windows应用程序。这个小程序是一个简单的计算器,展示了如何在Windows操作系统...
小小图书馆实验的目标是设计一个简单的图书管理系统,主要完成的工作包括借书、还书、图书管理和读者维护。图书管理和读者维护功能中可以进行日常的数据添加、删除、查找、显示等功能,使日常图书借阅工作能正常进行...
【标题】中的“完整的记事本(C#源代码编写)”是指使用C#编程语言实现的一个类似于Windows内置记事本的应用程序。C#是一种面向对象的、现代化的编程语言,广泛用于开发桌面应用、Web应用以及游戏等。这个项目可能是...
【标题】:“小小的相册浏览程序源码”指的是一个基于ASP技术开发的在线相册应用程序。这个程序允许用户上传和展示个人照片,分享生活瞬间,同时也适用于企业展示产品或者制作电子版宣传材料。 【描述】:描述中...
1. **文件读写操作**:计数器需要将访问次数持久化存储,这通常通过在服务器上创建一个文本文件(如counter.txt)来实现。每次访问时,程序会读取文件中的数字,增加1,然后将更新后的数值写回文件。 2. **会话管理...
【小小电话簿】是一款基于C#编程语言开发的控制台应用程序,主要功能是实现一个简单的本地电话簿管理功能。这个程序并不依赖任何数据库系统,而是将数据存储在本地文件中,便于用户在不联网的情况下也能方便地管理和...
这个“QT做一个按钮Qpushbutton 倒计时功能的小小程序”就是这样一个实例,它展示如何在点击按钮后启动一个倒计时,并在计时结束时改变按钮的状态或显示信息。 首先,我们需要了解QPushButton的基本用法。...
在“小小定时器”中,用户设定时间后,定时器组件会在指定时间触发一个事件,执行提醒操作。 2. **计时器组件**:在易语言中,计时器组件是实现定时功能的基础。它能够周期性地触发事件,用于控制程序的执行流程。...
【标题】"关于前台的一个小小的项目"涉及到的是前端开发领域,特别是与Web应用程序相关的实践。在Web开发中,"前台"通常指的是用户直接交互的部分,包括网页的布局、设计、表单、按钮等元素,这些都是通过HTML、CSS...
【描述】:“这是一个模仿qq的聊天的小小的软件,简单的一个聊天程序,容易”这句话表明该软件规模较小,功能相对基础,可能不包含QQ的所有高级特性,但足够让用户进行基本的文字交流。"容易"一词暗示了它的操作界面...
文本替换工具是计算机软件领域内的一项创新应用,尤其对于程序员、网站管理员以及任何需要处理大量文本文件的用户来说,它提供了一个高效、实用且易于使用的解决方案。在过去,进行文件中的文本替换是一项繁琐且易错...
该程序由两个主要页面构成,旨在创造一个有趣的互动环节,让参与者有机会获得红包奖励。抽奖规则独特且简单易懂,增加了活动的趣味性和悬念。 首先,我们要理解这个程序的核心功能。抽奖转盘是常见的抽奖形式,用户...
"小小记事本"是一个基于.NET框架开发的简易文本编辑器,主要由VB.NET语言编写。这个项目对于初学者来说,是一个很好的实践平台,能够帮助理解控件的使用、事件处理以及基本的用户界面设计。在描述中提到的问题,是...
日志是应用程序运行时生成的文本信息,记录了程序执行过程中的事件、错误、警告和其他相关信息。它们通常包含时间戳、优先级级别(如调试、信息、警告、错误)以及具体的消息内容。在Swift中,我们可以通过`print()`...
《Android UI 设计详解——基于...理解并熟练运用上述知识点,不仅能完成一个小小的本科毕业设计,还能为成为一名出色的Android开发者奠定坚实的基础。在实践中不断探索和学习,才能真正驾驭这个充满无限可能的平台。
总的来说,“小小图书馆”的开发是一个很好的起点,它涵盖了计算机科学中的许多基础概念,对于那些想要踏入编程世界的人来说,是一个既有趣又有挑战性的实践项目。通过这个项目,初学者可以逐步建立起对软件开发的...
"小小图书馆"是一个基于C++编写的图书管理系统,旨在帮助初学者理解面向对象编程和文件操作等核心概念。这个系统提供了图书管理和读者管理的功能,能够有效地组织和存储数据,并将其持久化保存到文件中,方便后续...
通过实际操作“小小图书馆”项目,你可以巩固C++的基础知识,同时学习如何设计和实现一个小型的软件系统。这个项目不仅有助于提高编程技能,还有助于理解软件工程的实践,包括代码组织、测试和调试等过程。在实践中...
综上所述,"小小测试的软件安装包"似乎是一个用于测试阶段的小型文本搜索应用程序。软件的主执行文件名为"cvidistkit.Station",它可能是负责用户交互、执行搜索算法、处理数据,并将结果反馈给用户的部分。考虑到是...
基于这些信息,我们可以推测“小小留言本 终结版”是一个基于Web的留言系统,采用面向对象的设计,提供了管理员账户进行后台管理。系统可能包含用户注册、登录、发布留言、查看和回复留言等功能。源代码和数据存储...