天天看点

Python名片管理系统 彩色控制台版

一、思路

1、定义名片操作选项

2、把增加的名片信息存储到字典中

3、所有名片信息存储到列表

4、对于误操作给出提示

二、用到的知识点

1、类的定义,用来设置控制台输出颜色

三、效果

四、代码

"""
* @Author: xiaofang
* @software: PyCharm
* @Description: 名片管理系统
"""


class BColors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'


def cardHead():
    print(BColors.HEADER)
    print('=======欢迎进入名片管理系统=======')
    print('1.查看名片')
    print('2.添加名片')
    print('3.修改名片')
    print('4.删除名片')
    print('5.退出系统')
    print(BColors.ENDC)


l = []  # 使用列表,进行数据的增删改查
while True:
    cardHead()
    choose = input('请选择: ')  # input 输出都是字符串
    print(BColors.OKBLUE)
    if choose == '1':
        i = 0

        if len(l) == 0:
            print('暂无名片')
        else:

            while i < len(l):
                print('%s->姓名:%s | 年龄:%s | 身高:%s' % (i, l[i]['name'], l[i]['age'], l[i]['high']))
                i += 1

    elif choose == '2':
        name = input('name: ').strip()
        age = input('age: ').strip()
        high = input('high: ').strip()
        info = {'name': name, 'age': age, 'high': high}
        l.append(info)
        print('添加成功')
    elif choose == '3':
        revise = input('请选择要修改的名片的ID: ')
        if int(revise) >= len(l):
            print('该ID不存在')
        else:
            name1 = input('name: ')
            age1 = input('age ')
            high1 = input('high: ')
            if name1:
                l[int(revise)]['name'] = name1
            if age1:
                l[int(revise)]['age'] = age1
            if high1:
                l[int(revise)]['high'] = high1
            print('修改成功')
    elif choose == '4':
        del1 = input('请选择要删除的名片: ')
        if int(del1) >= 0 and int(del1) < len(l):
            l.remove(l[int(del1)])
            print('删除成功')
        else:
            print('该ID不存在')
    elif choose == '5':
        print('退出成功,欢迎使用本简易名片系统')
        break
    else:
        print('输出错误,请重新输入')
    print(BColors.ENDC)