名片管理系统(python实现)源代码

#用列表保存多个用户数据
user_list=[
    {'name': 'zhangsan','tel': '110','qq': '1111'},
    {'name': 'lisi', 'tel': '120', 'qq': '2222'},
    {'name': 'wangwu', 'tel': '119', 'qq': '3333'}
]
def add_user():
    #1.获取用户输入的信息
    name=input('请输入姓名:')
    #1.1 接收到用户输入的姓名以后,立即验证,看姓名是否存在
    for user in user_list:
        if user['name']==name:
            print('用户名已经存在,添加失败!')
            return#直接结束整个函数
    tel = input('请输入手机号:')
    qq = input('请输入QQ号:')
    # 2.创建字典保存用户输入的数据
    user = {'name': name, 'tel': tel, 'qq': qq}
    # 3.将创建好的名片加入到列表里
    user_list.append(user)


def check_index(i):
    if not i.isdigit():
        print('您输入的数字不合法!')
        return False
    i=int(i)
    if i<0 or i>len(user_list)-1:
        print('您输入的序号不在范围内!')
        return False
    return True

def delete_user():
    index=input('请输入要删除的序号:')
    if check_index(index):
        answer = input('你确定要删除吗?[yes or no]')
        if answer.upper() == 'YES':
            # del:根据指定下标  pop:根据指定下标删除  remove:删除指定的元素  clear
            # user_list.remove(user_list[index])
            # user_list.pop(index)
            del user_list[int(index)]

def modify_user():
    index=input('请输入要修改的序号:')
    if not check_index(index):
        return
    index=int(index)
    user=user_list[index]
    print('您要修改的信息是:\nname:{name},tel:{tel},QQ:{qq}'.format(**user))
    new_name=input('请输入新的姓名:')
    for u in user_list:
        if u['name']==new_name:
            print('新的姓名已经存在,修改失败。')
            return
    new_tel=input('请输入新的手机号:')
    new_qq=input('请输入新的qq号:')
    user['name']=new_name
    user['tel']=new_tel
    user['qq']=new_qq
    print('您修改的结果为:',user)

def search_user():
    name=input('请输入您要查询的姓名:')
    for user in user_list:
        if user['name']==name:
            print('查询到的信息如下;\nname:{name},tel:{tel},QQ:{qq}'.format(**user))
            return
    else:
        print('用户名不存在!')

def show_all():
    print('序号  姓名       手机号       QQ号')
    for i,user in enumerate(user_list):
        print(i,'  ',user['name'].ljust(10,' '),user['tel'].ljust(10,' '),user['qq'])

def exit_system():
    answer=input('亲,你确定要退出么?~~~(>_<)~~~(yes or no):')
    if answer.upper()=='YES':
        exit(0)#0表示正常退出,非0表示异常退出

def start():
    while True:  # 因为一直需要运行,直到用户输入6才退出系统,所以需要while一直循环
        # 打印界面信息
        print("""       ---------------------------------
                名片管理系统 V1.0
          1:添加名片           2:删除名片
          3:修改名片           4:查询名片
          5:显示所有名片        6:退出系统
       ---------------------------------
        """)

        op = int(input('请输入要进行的操作(数字):'))
        if op == 6:
            exit_system()

        elif op==1:
            add_user()

        elif op==2:
            delete_user()

        elif op==3:
            modify_user()

        elif op==4:
            search_user()

        elif op==5:
            show_all()

        else:
            print('你的输入有误,请重新输入!')
if __name__=='__main__':
    start()

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值