资讯专栏INFORMATION COLUMN

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

Amio / 3476人阅读

摘要:名片管理系统新建名片全部名片查询名片修改名片退出系统功能新建名片输入返回上一层请输入姓名姓名长度不符合位以内请输入姓名请输入年龄请输入电话号码电话号码长度不符合位请输入电话号码请输入号码请输入电子邮箱请输入所属公司电话号码长度不符合位请输

list1 = []

def show_card():

</>复制代码

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

def add_card():

</>复制代码

  1. print("*功能: 新建名片 输入0返回上一层")
  2. print("****************************************")
  3. while True:
  4. name = input("*请输入姓名: ")
  5. if name == "0":
  6. break
  7. while len(name) <= 6 or len(name) >= 20:
  8. print("*姓名长度不符合6-20位以内")
  9. name = input("*请输入姓名: ")
  10. age = input("*请输入年龄: ")
  11. if age == "0":
  12. break
  13. phone = input("*请输入电话号码: ")
  14. if phone == "0":
  15. break
  16. while len(phone) != 11:
  17. print("*电话号码长度不符合11位")
  18. phone = input("*请输入电话号码: ")
  19. QQ = input("*请输入QQ号码: ")
  20. if QQ == "0":
  21. break
  22. email = input("*请输入电子邮箱: ")
  23. if email == "0":
  24. break
  25. company = input("*请输入所属公司: ")
  26. if company == "0":
  27. break
  28. while len(phone) != 11:
  29. print("*电话号码长度不符合11位")
  30. phone = input("*请输入电话号码: ")
  31. dict1 = {"姓名": name, "年龄": age, "电话号码": phone,
  32. "QQ": QQ, "邮箱": email, "所属公司": company}
  33. for key in dict1:
  34. while len(dict1[key]) == 0:
  35. dict1[key] = input("*%s不能为空,请重新输入:" % key)
  36. list1.append(dict1)
  37. break
  38. print("*添加成功")
  39. print("****************************************")
  40. print("****************************************")
  41. print("* 名片管理系统V1.0 *")
  42. print("* 1. 继续添加 *")
  43. print("* 2. 返回上一级 *")
  44. print("****************************************")
  45. while True:
  46. a = input("*请输入您要操作的序号: ")
  47. if int(a) == 1:
  48. add_card()
  49. break
  50. elif int(a) == 2:
  51. break
  52. else:
  53. print("*输入错误")

def all_card():

</>复制代码

  1. print("*功能: 查看全部名片")
  2. for dict1 in list1:
  3. print("****************************************")
  4. for key in dict1:
  5. print_card1(dict1, key)
  6. print("****************************************")

def search_card():

</>复制代码

  1. print("*功能: 搜索单个名片")
  2. print("****************************************")
  3. a = input("*请输入您要搜索的信息: ")
  4. print("****************************************")
  5. for dict1 in list1:
  6. for key in dict1:
  7. if a in dict1[key]:
  8. print_card(dict1)
  9. print("****************************************")
  10. else:
  11. print("没有名片信息")
  12. print("****************************************")
  13. print("****************************************")
  14. print("* 名片管理系统V1.0 *")
  15. print("* 1. 继续查询 *")
  16. print("* 2. 修改名片 *")
  17. print("* 3. 删除名片 *")
  18. print("* 4. 返回上一级 *")
  19. print("****************************************")
  20. while True:
  21. a = input("*请输入您要操作的序号: ")
  22. if int(a) == 1:
  23. search_card()
  24. break
  25. elif int(a) == 2:
  26. alter_card()
  27. break
  28. elif int(a) == 3:
  29. del_card()
  30. break
  31. elif int(a) == 4:
  32. break
  33. else:
  34. print("*输入错误")

def alter_card():

</>复制代码

  1. dict2 = {}
  2. print("*功能: 修改名片")
  3. print("****************************************")
  4. a = input("*请输入你要修改的信息的姓名: ")
  5. print("****************************************")
  6. for dict1 in list1:
  7. for name in dict1.keys():
  8. if dict1[name] == a:
  9. print_card(dict1)
  10. dict2.update(dict1)
  11. list1.remove(dict1)
  12. print("****************************************")
  13. b = input("*请输入你要修改的项: ")
  14. c = input("*请输入你要修改的值: ")
  15. print("****************************************")
  16. while True:
  17. if b == "姓名":
  18. key = "name"
  19. break
  20. elif b == "年龄":
  21. key = "age"
  22. break
  23. elif b == "电话":
  24. key = "phone"
  25. break
  26. elif b == "QQ":
  27. key = "QQ"
  28. break
  29. elif b == "邮箱":
  30. key = "email"
  31. break
  32. elif b == "公司":
  33. key = "company"
  34. break
  35. else:
  36. b = input("*没有该项,请重新输入: ")
  37. dict2[key] = c
  38. list1.append(dict2)
  39. print_card(dict2)
  40. print("*修改完成...")
  41. print("****************************************")
  42. print("* 名片管理系统V1.0 *")
  43. print("* 1. 继续修改 *")
  44. print("* 2. 返回上一级 *")
  45. print("****************************************")
  46. while True:
  47. a = input("*请输入您要操作的序号: ")
  48. if int(a) == 1:
  49. alter_card()
  50. break
  51. elif int(a) == 2:
  52. break
  53. else:
  54. print("*输入错误")

def del_card():

</>复制代码

  1. print("*功能: 删除名片")
  2. print("****************************************")
  3. a = input("*请输入你要删除的名片的姓名: ")
  4. print("****************************************")
  5. for dict1 in list1:
  6. for name in dict1.keys():
  7. if dict1[name] == a:
  8. list1.remove(dict1)
  9. print("*删除成功...")
  10. print("****************************************")
  11. print("****************************************")
  12. print("* 名片管理系统V1.0 *")
  13. print("* 1. 继续删除 *")
  14. print("* 2. 返回上一级 *")
  15. print("****************************************")
  16. while True:
  17. a = input("*请输入您要操作的序号: ")
  18. if int(a) == 1:
  19. del_card()
  20. break
  21. elif int(a) == 2:
  22. break
  23. else:
  24. print("*输入错误")

def print_card(dict1):

</>复制代码

  1. for key in dict1:
  2. if key == "name":
  3. print("
  4. 姓名:
  5. %s" % dict1[key])
  6. elif key == "age":
  7. print("
  8. 年龄:
  9. %s岁" % dict1[key])
  10. elif key == "phone":
  11. print("
  12. 电话:
  13. %s" % dict1[key])
  14. elif key == "QQ":
  15. print("
  16. QQ:
  17. %s" % dict1[key])
  18. elif key == "email":
  19. print("
  20. 邮箱:
  21. %s" % dict1[key])
  22. elif key == "company":
  23. print("
  24. 公司:
  25. %s" % dict1[key])

def print_card1(dict1, key):

</>复制代码

  1. if key == "name":
  2. print("
  3. 姓名:
  4. %s" % dict1[key])
  5. elif key == "age":
  6. print("
  7. 年龄:
  8. %s岁" % dict1[key])
  9. elif key == "phone":
  10. print("
  11. 电话:
  12. %s" % dict1[key])
  13. elif key == "QQ":
  14. print("
  15. QQ:
  16. %s" % dict1[key])
  17. elif key == "email":
  18. print("
  19. 邮箱:
  20. %s" % dict1[key])
  21. elif key == "company":
  22. print("
  23. 公司:
  24. %s" % dict1[key])

while True:

</>复制代码

  1. main.show_card()
  2. a = input("请输入您要操作的序号: ")
  3. if int(a) == 1:
  4. main.add_card()
  5. elif int(a) == 2:
  6. main.all_card()
  7. elif int(a) == 3:
  8. main.search_card()
  9. elif int(a) == 4:
  10. main.alter_card()
  11. elif int(a) == 0:
  12. print("正在退出......")
  13. print("退出成功")
  14. break
  15. else:
  16. print("输入错误")
  17. continue

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41735.html

相关文章

  • 《正规军Python进阶之路Python技能树测评》

    摘要:每个模块都有对应的分支内容,并且分支内容都分为参考资料练习题交流讨论三个内容,我最喜欢的是练习题,之前都是非正规军的学习,没有系统训练过,现在有技能树测评终于可以把之前散乱的知识点总结在一起了。祝大家都能在技能树测评判断自己在哪个级别的。 通过《Python技能树测评》判断自己在哪个级别: ...

    jayzou 评论0 收藏0
  • 学习python就用python技能树|Python技能树测评

    摘要:你想学习吗你知道技能树吗技能树是提供的系统化,面向实战的学习环境。如果你是初学者请马上开始学习,你最终可以获得的技能认证。学习到任何一阶段的同学们都可以轻松加入技能树的学习,所以你要学习就请赶快加入吧。 python 是一种很流行的高级动态语言。编程语言的的排行可以参考TIOBE。当然如果从...

    Harpsichord1207 评论0 收藏0
  • Python对象身份迷思:从全体公民到万物皆数

    摘要:真正的前方高能第一个铺垫告诉我们,对象可以映射成布尔值真假,第二个铺垫告诉我们,布尔值可以映射成数字和。得知布尔值和有这一层隐秘的身份,我已兴奋不已,再难对这看似不合现代语境却又流传千古的思想做出任何揣测。 这么久以来,我终于确认了一件事,那就是不管是人也好,还是猫也好,常常会忘了想自己当下的身份位置,以及曾经的身份位置。 这个现象在我身上,表现出了双倍分量的严重。这种时刻,我就会想起...

    xzavier 评论0 收藏0
  • Python对象身份迷思:从全体公民到万物皆数

    摘要:真正的前方高能第一个铺垫告诉我们,对象可以映射成布尔值真假,第二个铺垫告诉我们,布尔值可以映射成数字和。得知布尔值和有这一层隐秘的身份,我已兴奋不已,再难对这看似不合现代语境却又流传千古的思想做出任何揣测。 这么久以来,我终于确认了一件事,那就是不管是人也好,还是猫也好,常常会忘了想自己当下的身份位置,以及曾经的身份位置。 这个现象在我身上,表现出了双倍分量的严重。这种时刻,我就会想起...

    chunquedong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<