主运行循环:

import cards_tools

while True:

cards_tools.show_menu()

action_str = input("请输入希望执行的操作:")

# python2.7中raw_input输出str类型,input默认为int类型;Python3 input默认str类型。

print("您选择的操作是【%s】" % action_str)

# print("您选择的操作是【{}】" .format(action_str)) 用format也可实现

if action_str in ["1","2","3"]:

if action_str == "1":

cards_tools.new_cards()

elif action_str == "2":

cards_tools.show_cards()

elif action_str == "3":

cards_tools.search_cards()

elif action_str == "0":

print("欢迎再次使用【名片管理系统】")

break

else:

print("您输入的不正确,请重新输入")

功能模块编写:

card_list = []

#欢迎界面

def show_menu():

print("*"*50)

print("欢迎使用【名片管理系统V1.0】")

print("")

print("1.新增名片\n2.显示全部\n3.查询名片")

#for funct in ["1.新增名片","2.显示全部","3.查询名片"]:

# print(funct)

print("")

print("0.退出系统")

print("*"*50)

#新增名片

def new_cards():

print("="*50)

print("新增名片")

name_str = input("请输入姓名:")

age_str = input("请输入年龄:")

phone_str = input("请输入电话号码:")

qq_str = input("请输入QQ号码:")

card_dict = {"name":name_str,

"age":age_str,

"phone":phone_str,

"qq":qq_str

}

card_list.append(card_dict)

print(card_list)

print("名片添加成功!")

#显示全部名片

def show_cards():

print("=" * 50)

print("显示全部名片")

if len(card_list) == 0:

print("当前没有名片信息,请先新增名片!")

return

for name in ["姓名", "年龄", "电话", "qq"]:

print(name, end="\t\t")

print("")

print("-" * 50)

for card_dict in card_list:

print("%s\t\t%s\t\t%s\t\t%s" %(card_dict["name"],

card_dict["age"],

card_dict["phone"],

card_dict["qq"]))

#查找名片

def search_cards():

print("="*50)

print("查询名片")

find_name = input("请输入要查询的姓名:")

for card_dict in card_list:

if card_dict["name"] == find_name:

print("姓名:%s\n年龄:%s\n电话:%s\nqq:%s" %(card_dict["name"],

card_dict["age"],

card_dict["phone"],

card_dict["qq"]))

deal_card(card_dict)

break

else:

print("抱歉,没有找到%s" %find_name)

#查询名片补充,对找到的名片进行修改或删除

def deal_card(find_dict):

action_str = input("请输入您要执行的操作"

"【1】修改名片 【2】删除名片 【3】返回上级菜单:")

if action_str == "1":

find_dict["name"] = input_card_info(find_dict["name"],"姓名:")

find_dict["age"] = input_card_info(find_dict["age"],"年龄:")

find_dict["phone"] = input_card_info(find_dict["phone"],"电话:")

find_dict["qq"] = input_card_info(find_dict["qq"],"qq:")

print("修改名片成功!")

if action_str == "2":

card_list.remove(find_dict)

print("删除名片成功!")

#修改名片补充,如果用户只修改电话或年龄

def input_card_info (dict_value, tip_message):

result_str =input(tip_message)

if len(result_str) > 0:

return result_str

else:

return dict_value

python名片管理系统难点总结_Python学习笔记之名片管理系统相关推荐

  1. python名片管理系统难点总结_Python 知识要点:名片管理系统 2.0

    主程序cards_main.py调用cards_tools.py里的方法,实现名片管理的功能,代码上更加简洁. [cards_main.py] 复制代码 ! /usr/bin/python3 impo ...

  2. python编程16章教程_Python学习笔记__16.2章 TCP编程

    # 这是学习廖雪峰老师python教程的学习笔记 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算 ...

  3. python里while的用法_Python学习笔记之While循环用法分析

    本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...

  4. python中if语句使用_Python学习笔记之if语句的使用示例

    前言 条件语句在实际开发中我们已经使用过几次了,在这里我们需要再次隆重的来介绍一下它,下面话不多说了,来一起看看详细的介绍吧. if语句 顾名思义,该语句为判断语句,先来一个简单的示例 cars=[' ...

  5. python中while的用法_Python学习笔记之While循环用法分析

    本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...

  6. python数值类型的操作_Python学习笔记,数值类型及操作

    数值类型及操作 int类型数值大小不限: 整数的进制 1,整数类型正常为10进制 2,开头加0b or 0B 为二进制 3,加0o or 0O 为8进制 4,加0x 为16进制 浮点运算中存在不确定尾 ...

  7. python的解释提示符为_python学习笔记01--基础

    一.解释型语言 python是一门解释型语言,这意味着: l编写过后的代码不用编译连接即可运行,节约调试时间 lpython的解释器在大多数系统中都有很好实现,所以编写的代码可以运行在任何系统中 但同 ...

  8. python控制流代码怎么用_Python学习笔记控制流的元素

    随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...

  9. python内建函数测试对象身份_Python学习笔记 03 Python对象

    1.Python对象 Python对象都拥有三个特性:身份.类型和值. 身份:每一个对象都有一个唯一的身份标识自己,任何对象的身份都可以使用内建函数id()来得到.这个值可以被认为是该对象的内存地址. ...

最新文章

  1. mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。
  2. mysql中when用法_Mysql 中的CASE WHEN 用法
  3. JavaScript中的arguments对象
  4. mongodb副本集搭建
  5. MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途(转)
  6. 还在一个个复制数据?——今天教你控制台爬数据!
  7. thrift的lua实现
  8. HALCON 20.11:深度学习笔记(2)
  9. python fortran混编 ctypes_Python调用C/Fortran混合的动态链接库--上篇
  10. PAT (Basic Level) Practice1001 害死人不偿命的(3n+1)猜想
  11. 【Python】利用MD5文件去重
  12. 超全必看!开源时间序列数据集整理
  13. Winform自动升级系统的设计与实现(源码)
  14. GPS测量原理及应用 知识总结
  15. 辅流式沉淀池固体负荷计算方法_20000m3/d污水厂设计计算书
  16. 微信小程序使用image组件显示图片的方法
  17. 广发样样行提额技巧分享
  18. oppo k10 Pro和iqooneo6哪个性能更强 哪个值得买呢
  19. 7条简单粗暴的工作建议
  20. 什么方法可以将pdf压缩到最小

热门文章

  1. MMDetection 快速开始,训练自定义数据集
  2. java面试英语自我介绍_【埃森哲java工程师面试】就是简单英文自我介绍。-看准网...
  3. 认认真真学习STL之string
  4. webERP的深入浅出系列——1 基础数据准备初始化
  5. string字符串常见用法
  6. Python中timestamp时间戳和日期时间的转换
  7. 医疗系统流程软件测试用例,如何写全流程的测试用例 - rose8561900的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  8. oracle中更改用户名,Oracle 更改用户名
  9. 从git上克隆的vue项目在本地运行步骤
  10. 深富策略:新的动力正在酝酿 重点布局三条主线