python 案例一(电话铺)

经过自己努力,做了一个简单的电话铺的录入和查询小程序,比较简单,喜欢的朋友可以练练手。

题目:

创建你自己的命令行 地址簿 程序。在这个程序中,你可以添加、修改、删除和搜索你的联系人(朋友、家人和同事等等)以及它们的信息(诸如电子邮件地址和/或电话号码)。这些详细信息应该被保存下来以便以后提取。

用到的知识点:

  1. cPickle
  2. 简单文件读写

代码:

# coding=utf-8
‘‘‘姓名年龄email查询修改‘‘‘

import cPickle as p
import os

class person(object):
    ‘‘‘人员详情‘‘‘
    def __init__(self, name=None, age=None, email=None):
        self.name = name
        self.age = age
        self.email = email

def show_all():
    ‘‘‘打印所有人员‘‘‘
    persons = get_persons()
    if len(persons) > 0:
        for item in persons:
            print ‘name: %s, age: %s, email: %s‘ % (item.name, item.age, item.email)
    else:
        print "There is no person"

def add_person(name, age, email):
    ‘‘‘添加人员‘‘‘
    #判断是否为空
    list = get_persons()
    with file(‘persons‘,‘w‘) as f:
        list.append(person(name, age, email))
        p.dump(list,f)

def get_persons():
    ‘‘‘获取人员列表‘‘‘
    if not os.path.exists(‘persons‘):
        file(‘persons‘,‘w‘).close()
        return []
    with file(‘persons‘) as f:
        data = p.load(f)
        return data if data != None else []

def find_person(name):
    ‘‘‘根据姓名打印信息‘‘‘
    persons = get_persons()
    for person in persons:
        if person.name == name:
            print ‘name: %s, age:%s, email:%s‘ % (person.name,person.age,person.email)
            return
    print ‘This no person named: name‘

def del_person(name):
    ‘‘‘根据姓名删除人员‘‘‘
    persons = get_persons()
    for person in persons:
        if person.name == name:
            persons.remove(person)
            with file(‘persons‘,‘w‘) as f:
                p.dump(persons,f)
            print ‘delete success!‘
            return
    print ‘This no person named: name‘

def main():
    ‘‘‘显示欢迎语句‘‘‘
    hello = ‘‘‘Welcome please input your purpose
    1 --> see all person‘s detail
    2 --> find person by name
    3 --> add person
    4 --> delete person
    5 --> exit ‘‘‘
    while True:
        m = raw_input(hello + ‘\n->‘)
        #print m
        if m == ‘3‘:
            name = raw_input("name: ")
            age = raw_input("age:")
            email = raw_input("email:")
            add_person(name, age, email)
            print "ok!"
        elif m == ‘1‘:
            show_all()
        elif m == ‘2‘:
            name = raw_input("Enter the person‘s name: ")
            find_person(name)
        elif m == ‘4‘:
            name = raw_input("Enter the person‘s name: ")
            del_person(name)
        elif m == ‘5‘:
            os.sys.exit(0)
if __name__ == ‘__main__‘:
    main()
时间: 2024-10-03 21:54:14

python 案例一(电话铺)的相关文章

利用深度学习(Keras)进行癫痫分类-Python案例

目录 癫痫介绍 数据集 Keras深度学习案例 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区(微信号:Brain_Computer).QQ交流群:903290195 癫痫介绍 癫痫,即俗称"羊癫风",是由多种病因引起的慢性脑功能障碍综合症,是仅次于脑血管病的第二大脑部疾病.癫痫发作的直接原因是脑部神经元反复地突发性过度放电所导致的间歇性中枢神经系统功能失调.临床上常表现为突然意识丧失.全身抽搐以及精神异常等.癫痫给患者带来巨大的痛苦和身心伤害,严重时甚至危及生命,儿童患者会

python案例:金融营销活动中欺诈用户行为分析

下午学习了python数据分析的应用案例---金融营销活动中欺诈用户行为分析.数据来源于DC竞赛数据:https://www.dcjingsai.com/common/cmpt/2018%E5%B9%B4%E7%94%9C%E6%A9%99%E9%87%91%E8%9E%8D%E6%9D%AF%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BB%BA%E6%A8%A1%E5%A4%A7%E8%B5%9B_%E7%AB%9E%E8%B5%9B%E4%BF%A1%E6%81%AF.ht

Python案例详解Python文件迭代的方法

在python开发中,我们常常都会用到迭代器,所以对于python初学者来说,必须掌握迭代器相关知识.本文小编就将为大家分享有关迭代器的相关知识,觉得有必要了解或加深了解的童鞋,请往下看. 1.迭代器介绍 可迭代对象:列表.元组.字符串 迭代工具:for循环.列表解析.in成员关系测试.map内建函数 下面,通过具体的例子,给大家展示一下: 1. >>> for item in (1,3,4,5): 2.   print(item) 3. 4. 1 5. 3 6. 4 7. 5 8. &

android案例一 电话拨号器

效果图: 电话拨号器的核心原理:  意图 MainActivity代码: private EditTest et_number; //加载一个布局 setContentView(R.layout.Main); //获取需要的控件 editTest1 button1 et_number = (EditTest)findViewById(R.id.editTest1); Button btn_call = (Button)findViewById(R.id.button1); //为按钮btn_ca

项目练习--自制电话铺功能

3类名,方法名及变量名的定义 要遵循下列设计要求进行代码编写,仅允许细微调整. 3.1类名: App  对应  Application(程序入口函数) Menu 对应  Menu      (菜单类) Operate 对应  Operate    (业务处理类) Person 对应  Person (实体类) 3.2方法名: App类中方法(无成员变量): main() 程序入口函数 start() 主菜单控制 Operate类中方法及成员变量 private List<Person>list

python案例-用户登录

要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 """ 5 用户登陆功能实例 6 1.获取db文件中所有的用户信息 7 2.比较用户信息 8 如果用户名不存在,则直接退出 9 如果用户名存在 10 检测密码,如果密码存在,则提示登陆成功,并将登陆错误次数重置为 0 ,修改内存中的字典中记录的登陆错误次数.(并写入文件) 11 如果密码不存在 12 修

python案例——体脂率项目

通过一个人的身高.体重.年龄.性别,判断这个人的体脂率,并且反馈是否正常? 首先接到项目后一定要一步步细分任务,直到每个细分的任务都可以用代码来实现. 写代码之前,先要确定python版本的问题 然后先用注释把每项的任务标注出来,方便理清具体的实现步骤 原文地址:https://www.cnblogs.com/zhaoyudang/p/8953624.html

MVC模式:python案例

quotes = ('A man is not complete until he is married. Then he is finished.', 'As I said before, I never repeat myself.', 'Behind a successful man is an exhausted woman.', 'Black holes really suck...', 'Facts are stubborn things.') class QuoteModel: d

python案例2

'''商场推出幸运抽奖活动 根据抽奖规则计算会员卡号各位数字之和 实现思路: (1)接收输入的会员卡号(4位数) (2)分解获得各位数字 (3)计算各位数字之和'''import randomrandomNum=random.randint(0,36)num=int(input("请输入会员卡号:"))n1=num%10num=num//10n2=num%10num=num//10n3=num%10num=num//10n4=nums=n1+n2+n3+n4print("获得