python小练习1 名片管理器

需要完成的基本功能:添加名片 删除名片 修改名片 查询名片 退出系统

思路:用字典作为名片存放个人信息,然后把名片存入列表中。

cardList = [] # 列表,用于保存所有人名片,每个名片是一个字典。
def menu():   # 用于提示用户功能选项
    print(‘========名片管理器========‘)
    print(‘1添加名片  2删除名片 3修改名片 4查询名片 5显示全部 6退出系统 ‘)
def addCard():  # 添加名片函数
    card = {}   # 局部变量,这个字典用于临时保存要添加的名片
    card[‘姓名‘] = input(‘请输入添加人名字:‘) # 把名字赋给字典card的‘姓名‘键对应的值
    card[‘电话‘] = input(‘请输入添加人电话:‘) # 同上
    cardList.append(card)     # 把新名片添加到列表中
    print(card)      # 打印这个名片
    print(‘已添加‘)
def deleteCard():
    deleteName = input(‘请输入要删除名片的姓名:‘)
    for temp in cardList:   # 列表的遍历,注意temp是字典(一个名片)
        if temp[‘姓名‘] == deleteName:  #temp[‘姓名‘]是value,判断要删除的人是否是列表中的
            cardList.remove(temp)       # 删除列表的temp元素(一个名片)
            print(‘已删除‘)
def modifyCard():
    toModifyName = input(‘请输入要修改名片的姓名:‘)
    newTemp={}  # 用于保存修改后的名片
    for temp in cardList:
        if temp[‘姓名‘] == toModifyName:  # 选择与要删的名字一致的temp,然后对这个temp进行操作
            newTemp = temp
            newName = input(‘请输入新名字:‘)
            newTemp[‘姓名‘] = newName
            newPhone = input(‘请输入新电话:‘)
            newTemp[‘电话‘] = newPhone
            cardList.remove(temp)     # 删除
            cardList.append(newTemp)  # 添加
            print(‘已修改‘)
def findCard():
    findFlag = 0  # 是否找到标志位
    findName = input(‘请输入要查找的姓名:‘)
    for temp in cardList:
        if temp[‘姓名‘] == findName: # 选择与要查找的名字一致的temp,相等表示找到了
            print(temp)  # 打印要找的名片
            findFlag = 1  # 标志位置1,表示找到了
    if findFlag == 0:
        print(‘没找到‘)
def showAllCard():
    print(cardList)  # 打印列表,即所有名片
def main():
    while True:
        menu()
        choice = int(input(‘请输入选择功能序号:‘))
        if choice == 1:
            addCard()     # 添加名片
            continue
        elif choice == 2:
            deleteCard()  # 删除名片
            continue
        elif choice == 3:
            modifyCard()  # 修改名片
            continue
        elif choice == 4:
            findCard()    # 查找名片
            continue
        elif choice == 5:
            showAllCard()  # 显示所有
        elif choice == 6:
            print(‘已退出!‘)
            break   # 退出
main()  # 调用主函数

原文地址:https://www.cnblogs.com/zhang-anan/p/8203674.html

时间: 2024-10-11 17:04:51

python小练习1 名片管理器的相关文章

MFC小程序------01 代码管理器

1.代码入库: 2.代码查找: 3.查看所有代码: 4.程序设置: 自己学习MFC写的一个小程序,其中还有许多功能还待完善,比如数据库的导入功能还没有写,但导出功能是可以用的,查找算法也不是很好,还是代码编辑框中的语言关键字应该是高亮显示的,但也还没有解决.明天考完就放假了,先记到这里,之后再继续完善该程序. 下面是程序的免费下载地址:只有.exe文件和.db数据库,不包含源码,其中数据库中含有大部分的源码可供参考: http://download.csdn.net/detail/lp31001

python深入学习02 上下文管理器

上下文管理器(context manager)主要用于规定某个对象的使用范围.一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存).它的语法形式是with...as... 关闭文件 上下文管理器有个特别好的优点:可以在不使用文件的时候,自动关闭文件,节省了f.close()的步骤 上下文管理器有隶属于它的程序块.当隶属的程序块执行结束的时候(也就是不再缩进),上下文管理器自动关闭了文件 (我们通过f.closed来查询文件是否关闭).我们相当于使用缩进规定了文件对象f的

python小游戏之课堂提问器

今天,接着前边的python小游戏,又写了个课堂提问器小程序.供大家一乐! #coding:utf-8 from random import randint print '\033[1;32;40m', print '你好,请选择需要几位作答者?\n' print '请输入作答者的人数:', t=1 i=input() data=[] while t<=i:     r=randint(0,32)    # print m[r],     data.append(m[r])     t+=1 p

Python基础=== Tkinter Grid布局管理器详解

本文转自:https://www.cnblogs.com/ruo-li-suo-yi/p/7425307.html          @ 箬笠蓑衣 Grid(网格)布局管理器会将控件放置到一个二维的表格里.主控件被分割成一系列的行和列,表格中的每个单元(cell)都可以放置一个控件. 注意:不要试图在一个主窗口中混合使用pack和grid (1)标签控件 1 from tkinter import * 2 3 tk=Tk() 4 #标签控件,显示文本和位图,展示在第一行 5 Label(tk,t

python爬虫模块之URL管理器

URL管理器模块 一般是用来维护爬取的url和未爬取的url已经新添加的url的,如果队列中已经存在了当前爬取的url了就不需要再重复爬取了,另外防止造成一个死循环.举个例子 我爬www.baidu.com 其中我抓取的列表中有music.baidu.om,然后我再继续抓取该页面的所有链接,但是其中含有www.baidu.com,可以想象如果不做处理的话就成了一个死循环了,在百度首页和百度音乐页循环,所以有一个对列来维护URL是很重要的. 下面以python代码实现为例,使用的deque双向队列

python小白之路(特性语法三应用名片管理器项目)

#encoding=utf-8 print("欢迎使用Pyhon名片系统") #定义列表存储名片信息 list_card = [{'编号':1,'姓名':'zhanshi','电话':'110'},{'编号':2,'姓名':'战士','电话':'119'}] while True: print("*"*20) #名片系统功能 print("添加名片[1]") print("删除名片[2]") print("修改名片[

Python Tkinter模块 Grid布局管理器参数详解

在使用Tkinter模块编写图像界面时,经常用到pack()和grid()进行布局管理,pack()参数较少,使用方便,是最简单的布局,但是当控件数量较多时,可能需要使用grid()进行布局(不要在同一个窗口中同时使用grid()和pack()!!). grid使用方法和主要参数: row=x,column=y:将控件放在x行,y列的位置.注意: 如果不指定参数,则默认从0开始. 此处的行号和列号并不是像在坐标轴上一样严格,只是代表一个上下左右的关系,如在行号"1"没有出现的情况下:

Python上下文管理器

上下文管理器 在使用Python编程中,可以会经常碰到这种情况:有一个特殊的语句块,在执行这个语句块之前需要先执行一些准备动作:当语句块执行完成后,需要继续执行一些收尾动作. 例如:当需要操作文件或数据库的时候,首先需要获取文件句柄或者数据库连接对象,当执行完相应的操作后,需要执行释放文件句柄或者关闭数据库连接的动作. 又如,当多线程程序需要访问临界资源的时候,线程首先需要获取互斥锁,当执行完成并准备退出临界区的时候,需要释放互斥锁. 对于这些情况,Python中提供了上下文管理器(Contex

密码管理器

自媒体时代已经到来,导致各种重要的.不重要的账号密码搞得我都快记不过来了.经常记混,有时候需要试两三次,“忍无可忍,无需再忍.”so,今天我花了大半天的时间写了一个小程序(密码管理器),绝对的纯手打,整理文件整理到现在.我用它来帮我存储账号密码,本来只是想自己写个程序自己用,后来还是决定给大家分享一下.Ps:账号.密码都是经过加密存储的.我把程序发布到了CSDN( http://download.csdn.net/detail/vae_vae_vae/9269077 )和百度云(链接:  htt