[Python的学习之路] 练习 简单的名片管理系统

news/2024/6/27 7:49:10

list1 = []

def show_card():

print("****************************************")
print("*           名片管理系统V1.0            *")
print("*             1. 新建名片               *")
print("*             2. 全部名片               *")
print("*             3. 查询名片               *")
print("*             4. 修改名片               *")
print("*             0. 退出系统               *")
print("****************************************")

def add_card():

print("*功能: 新建名片            输入0返回上一层")
print("****************************************")
while True:
    name = input("*请输入姓名: ")
    if name == "0":
        break
    while len(name) <= 6 or len(name) >= 20:
        print("*姓名长度不符合6-20位以内")
        name = input("*请输入姓名: ")
    age = input("*请输入年龄: ")
    if age == "0":
        break
    phone = input("*请输入电话号码: ")
    if phone == "0":
        break
    while len(phone) != 11:
        print("*电话号码长度不符合11位")
        phone = input("*请输入电话号码: ")
    QQ = input("*请输入QQ号码: ")
    if QQ == "0":
        break
    email = input("*请输入电子邮箱: ")
    if email == "0":
        break
    company = input("*请输入所属公司: ")
    if company == "0":
        break
    while len(phone) != 11:
        print("*电话号码长度不符合11位")
        phone = input("*请输入电话号码: ")
    dict1 = {"姓名": name, "年龄": age, "电话号码": phone,\
             "QQ": QQ, "邮箱": email, "所属公司": company}
    for key in dict1:
        while len(dict1[key]) == 0:
            dict1[key] = input("*%s不能为空,请重新输入:" % key)
    list1.append(dict1)
    break
print("*添加成功")
print("****************************************")
print("****************************************")
print("*           名片管理系统V1.0            *")
print("*             1. 继续添加               *")
print("*             2. 返回上一级             *")
print("****************************************")
while True:
    a = input("*请输入您要操作的序号: ")
    if int(a) == 1:
        add_card()
        break
    elif int(a) == 2:
        break
    else:
        print("*输入错误")

def all_card():

print("*功能: 查看全部名片")
for dict1 in list1:
    print("****************************************")
    for key in dict1:
        print_card1(dict1, key)
    print("****************************************")

def search_card():

print("*功能: 搜索单个名片")
print("****************************************")
a = input("*请输入您要搜索的信息: ")
print("****************************************")
for dict1 in list1:
    for key in dict1:
        if a in dict1[key]:
            print_card(dict1)
            print("****************************************")
else:
    print("没有名片信息")
    print("****************************************")
print("****************************************")
print("*           名片管理系统V1.0            *")
print("*             1. 继续查询               *")
print("*             2. 修改名片               *")
print("*             3. 删除名片               *")
print("*             4. 返回上一级             *")
print("****************************************")
while True:
    a = input("*请输入您要操作的序号: ")
    if int(a) == 1:
        search_card()
        break
    elif int(a) == 2:
        alter_card()
        break
    elif int(a) == 3:
        del_card()
        break
    elif int(a) == 4:
        break
    else:
        print("*输入错误")

def alter_card():

dict2 = {}
print("*功能: 修改名片")
print("****************************************")
a = input("*请输入你要修改的信息的姓名: ")
print("****************************************")
for dict1 in list1:
    for name in dict1.keys():
        if dict1[name] == a:
            print_card(dict1)
            dict2.update(dict1)
            list1.remove(dict1)
print("****************************************")
b = input("*请输入你要修改的项: ")
c = input("*请输入你要修改的值: ")
print("****************************************")
while True:
    if b == "姓名":
        key = "name"
        break
    elif b == "年龄":
        key = "age"
        break
    elif b == "电话":
        key = "phone"
        break
    elif b == "QQ":
        key = "QQ"
        break
    elif b == "邮箱":
        key = "email"
        break
    elif b == "公司":
        key = "company"
        break
    else:
        b = input("*没有该项,请重新输入: ")
dict2[key] = c
list1.append(dict2)
print_card(dict2)
print("*修改完成...")
print("****************************************")
print("*           名片管理系统V1.0            *")
print("*             1. 继续修改               *")
print("*             2. 返回上一级             *")
print("****************************************")
while True:
    a = input("*请输入您要操作的序号: ")
    if int(a) == 1:
        alter_card()
        break
    elif int(a) == 2:
        break
    else:
        print("*输入错误")

def del_card():

print("*功能: 删除名片")
print("****************************************")
a = input("*请输入你要删除的名片的姓名: ")
print("****************************************")
for dict1 in list1:
    for name in dict1.keys():
        if dict1[name] == a:
            list1.remove(dict1)
print("*删除成功...")
print("****************************************")
print("****************************************")
print("*           名片管理系统V1.0            *")
print("*             1. 继续删除               *")
print("*             2. 返回上一级             *")
print("****************************************")
while True:
    a = input("*请输入您要操作的序号: ")
    if int(a) == 1:
        del_card()
        break
    elif int(a) == 2:
        break
    else:
        print("*输入错误")

def print_card(dict1):

for key in dict1:
    if key == "name":
        print("\t  姓名:\t%s" % dict1[key])
    elif key == "age":
        print("\t  年龄:\t%s岁" % dict1[key])
    elif key == "phone":
        print("\t  电话:\t%s" % dict1[key])
    elif key == "QQ":
        print("\t   QQ: \t%s" % dict1[key])
    elif key == "email":
        print("\t  邮箱:\t%s" % dict1[key])
    elif key == "company":
        print("\t  公司:\t%s" % dict1[key])

def print_card1(dict1, key):

if key == "name":
    print("\t  姓名:\t%s" % dict1[key])
elif key == "age":
    print("\t  年龄:\t%s岁" % dict1[key])
elif key == "phone":
    print("\t  电话:\t%s" % dict1[key])
elif key == "QQ":
    print("\t   QQ: \t%s" % dict1[key])
elif key == "email":
    print("\t  邮箱:\t%s" % dict1[key])
elif key == "company":
    print("\t  公司:\t%s" % dict1[key])

while True:

main.show_card()

a = input("请输入您要操作的序号: ")
if int(a) == 1:
    main.add_card()
elif int(a) == 2:
    main.all_card()
elif int(a) == 3:
    main.search_card()
elif int(a) == 4:
    main.alter_card()
elif int(a) == 0:
    print("正在退出......")
    print("退出成功")
    break
else:
    print("输入错误")
    continue

http://www.niftyadmin.cn/n/4606604.html

相关文章

神舟1号stm32俄罗斯方块经验小结

总两天无聊就弄了个俄罗斯方块玩一下(http://blog.csdn.net/chenbang110/article/details/7605345),刚好也是应付一下嵌入式课程的期末作业(其他人都做贪吃蛇,因为有前几届的前辈们留下的代码),我就索性自己写一个俄罗斯方块来玩一下,但是实验室的平台是s3c2410的基于uCosII的,…

Android-三张图搞定Touch事件传递机制

之前看了很多关于Android事件Touch传递机制的文章&#xff0c;感觉还是老外讲的最清楚。原版PDF地址&#xff1a;Mastering the Android Touch System&#xff0c;github的demo地址&#xff1a;demo 上图之前先讲下Android事件的基础知识&#xff1a; 所有的Touch事件都封装到M…

iOS关于换肤和夜间模式的一些思考

介绍 好久没写文章了&#xff0c;正好最近在研究换肤&#xff0c;所以将最近的心得和体会与大家分享一下。 iOS换肤的方式比较单一&#xff0c;查找了很多资料&#xff0c;发现主流的方式有如下两种&#xff1a; 方式一&#xff1a;通过给 Category 添加属性的方式实现换肤&am…

Qt在vs2010下的配置

首先不要使用中文目录&#xff0c; 1 下载Qt的安装包和VS2010的Qt插件 2. 安装Qt SDK 3. 安装Qt的VS开发插件 4. 编译Qt Qt默认使用mingw进行编译&#xff0c;如果要使用VS2010开发&#xff0c;需要将Qt重新编译。 进入开始菜单Microsoft Visual Studio 2010&#xff0c;Visual…

ItemDecoration解析(一) getItemOffsets

介绍An ItemDecoration allows the application to add a special drawing and layout offset to specific item views from the adapters data set. This can be useful for drawing dividers between items, highlights, visual grouping boundaries and more.All ItemDecora…

The Linux I/O Stack Diagram

http://www.thomas-krenn.com/en/oss/linux-io-stack-diagram/linux-io-stack-diagram_v0.1.pdf

浅谈JavaScript的函数的call以及apply

我爱撸码&#xff0c;撸码使我感到快乐&#xff01;大家好&#xff0c;我是Counter。今天就来谈谈js函数的call以及apply&#xff0c;具体以代码举例来讲解吧&#xff0c;例如有函数&#xff1a; function func(a, b) {return a b;} 非常简单的一个函数&#xff0c;返回a b 的…

C语言实现密码登录界面,你可能已被盯上!

登录界面是一个网站最重要的部分之一&#xff0c;一个良好的登录界面设计&#xff0c;将会给用户一个良好的使用体验&#xff0c;甚至能够引导非注册用户注册。它不仅仅在界面设计中很重要&#xff0c;也关系着一个网站的用户体验。今天小编用C语言写了一个简单的密码登陆界面 …