网络编程
位置:首页>> 网络编程>> Python编程>> python实现简易名片管理系统

python实现简易名片管理系统

作者:我是小海星  发布时间:2022-12-23 13:14:53 

标签:python,名片管理系统

本文实例为大家分享了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实现简易名片管理系统

来源:https://blog.csdn.net/weixin_41803249/article/details/115556387

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com