python实现简易名片管理系统

2021-04-27 0 631

本文实例为大家分享了python实现名片管理系统的具体代码,供大家参考,具体内容如下

功能需求

  • 用户输入数字选择要进行的操作
  • 添加名片
  • 删除名片
  • 修改名片
  • 查询名片
  • 显示所有名片
  • 退出系统

缺点(待改进)

数据未保存到后台,添加的数据仅限当次运行程序时使用

话不多说,上代码!

主程序

# coding=utf8
from method import *
# 导入定时器是为了方便观察每次操作的结果
from time import sleep

cards = []
# 让这个程序无限循环,直到用户想要其终止
while True:
    sleep(1)
    menu()
    ope_num = input(\'请输入要进行的操作(1-6): \')
    if ope_num == \'1\':
        addinfo(cards)
    elif ope_num == \'2\':
        delinfo(cards)
    elif ope_num == \'3\':
        updateinfo(cards)
    elif ope_num == \'4\':
        searchinfo(cards)
    elif ope_num == \'5\':
        showinfo(cards)
    elif ope_num == \'6\':
        sure = input(\'你确定要退出系统吗(YES/NO)\')
        if sure.upper() == \'YES\':
            break
    else:
        print(\'输入错误,请重新输入!!!(数字1-6)\')

函数文件

# 定义一个menu方法
def menu():
    print(\'------------------\\n\'
          \'\\t名片管理系统\\n\'
          \'1:添加名片\\n\'
          \'2:删除名片\\n\'
          \'3:修改名片\\n\'
          \'4:查询名片\\n\'
          \'5:显示所有名片\\n\'
          \'6:退出系统\\n\'
          \'------------------\')

# 添加名片
def addinfo(lists):
    # 定义一个字典,存放这个名片的信息
    info = {}

    # 获取姓名
    def getname():
        name = input(\'请输入姓名: \')

        # 判断姓名是否由 数字、字母、数字和字母 组成,即:不能包含标点符号和空格,不能为空
        # 如果不符合要求,提示检查,并重新输入
        # 一直提示用户输入,直到符合要求
        while name.isalnum() != True:
            print(\'请检查输入!!! (不能包含标点符号和空格,不能为空) \')
            name = input(\'请输入姓名: \')

        return name

    # 获取手机号
    def getphone():
        phone = input(\'请输入手机号: \')

        # 判断手机号是否由 11位数字 组成
        # 如果不符合要求,提示检查,并重新输入
        while (len(phone) != 11) or (phone.isdigit() != True):
            print(\'请检查输入!!! (由11位纯数字组成,不能为空) \')
            phone = input(\'请输入手机号: \')

        return phone

    # 获取QQ号
    def getqq():
        qq = input(\'请输入QQ号: \')

        # 判断QQ号是否由 5-10位数字 组成
        # 如果不符合要求,提示检查,并重新输入
        while ((len(qq) < 5) or (len(qq) > 10)) or (qq.isdigit() != True):
            print(\'请检查输入!!! (由5-10位纯数字组成,不能为空) \')
            qq = input(\'请输入QQ号: \')

        return qq

    # 如果该名片的序号为,列表长度+1
    info[\'num\'] = len(lists) + 1

    # 通过调用其他函数获取对应信息
    info[\'name\'] = getname()
    info[\'phone\'] = getphone()
    info[\'qq\'] = getqq()

    # 将该字典存入名片列表中
    lists.append(info)

    print(\'添加成功!\')
    showinfo(lists)

# 输出所有名片列表
def showinfo(lists):
    print(\'序号\\t姓名\\t\\t手机号\\t\\tQQ号\'.ljust(30))
    for lis in lists:
        for value in lis.values():
            print(value, end=\'\\t\')

        print(\'\\n\')

# 删除名片
def delinfo(lists):
    del_name = input(\'请输入您需要删除名片的姓名: \')
    flag = True
    for lis in lists:
        if lis[\'name\'] == del_name:
            lists.remove(lis)
            print(\'删除成功!\')
            showinfo(lists)
            flag = False
            break

    if flag == True:
        print(\'名片不存在!!!\')

# 修改名片
def updateinfo(lists):
    upd_name = input(\'请输入您需要修改名片的姓名: \')
    flag = True
    for lis in lists:
        if lis[\'name\'] == upd_name:
            lis[\'name\']=input(\'请输入新姓名: \')
            lis[\'phone\']=input(\'请输入新手机号: \')
            lis[\'qq\']=input(\'请输入新QQ号: \')
            print(\'修改成功!\')
            showinfo(lists)
            flag = False
            break

    if flag == True:
        print(\'名片不存在!!!\')

# 查询名片
def searchinfo(lists):
    se_name = input(\'请输入您需要查询的姓名: \')
    flag = True
    for lis in lists:
        if lis[\'name\'] == se_name:
            print(\'序号\\t姓名\\t\\t手机号\\t\\tQQ号\'.ljust(30))
            for value in lis.values():
                print(value, end=\'\\t\')

            print(\'\\n\')
            flag = False
            break

    if flag == True:
        print(\'名片不存在!!!\')

执行结果

python实现简易名片管理系统

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

遇见资源网 Python python实现简易名片管理系统 http://www.ox520.com/28507.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务