Linux下python制作名片示例


Posted in Python onJuly 20, 2018

建立cards_main文件:

# _*_ coding:utf-8 _*_
"""
file: cards_main.py
date: 2018-07-18 19:47
author: jiong
desc:

"""
import cards_tools
#无限循环,由用户主动决定什么时候退出
while True:
#TODO注释,用于标记需要去做的工作

 cards_tools.show_menu()

 action_str = raw_input("请选择希望执行的操作: ")
 print("你选择的操作是 %s" % action_str)
 #1,2,3针对名片的操作
 if action_str in ["1","2","3"]:
  if action_str == "1":
   cards_tools.new_card()
  elif action_str == "2":
   cards_tools.show_all()
  elif action_str == "3":
   cards_tools.search_card()

 #0退出系统
 elif action_str == "0":
  print("欢迎再次使用【名片管理系统】:")

  break
  #如果在开发程序时,不希望立刻编写分支内部的代码
  #可以使用pass关键字,表示一个占位符,能够保证程序的代码结构正确
  #运行程序时,pass关键字不会执行任何操作
 else:
  print("输入错误,请重新输入:")

建立cards_tools文件

# _*_ coding:utf-8 _*_
"""
file: cards_tools.py
date: 2018-07-18 19:47
author: jiong
desc:

"""
card_list = []

def show_menu():
 """显示菜单"""
 print '*' * 50
 print '欢迎使用【名片管理系统】'
 print ''
 print '1.新增名片'
 print '2.显示全部'
 print '3.搜索名片'
 print '0.退出系统'
 print '*' * 50

def new_card():
 """新增名片"""
 print '-' * 50
 print '新增名片'
 # 1.提示用户输入名片的详细信息
 name_str = raw_input('请输入姓名:')
 phone_str = raw_input('请输入电话:')
 qq_str = raw_input('请输入QQ:')
 email_str = raw_input('请输入邮箱:')

 # 2.使用用户输入的信息建立一个名片字典
 card_dict = {'name_str': name_str,
     'phone_str': phone_str,
     'qq_str': qq_str,
     'email_str': email_str}

 # 3.将名片字典添加到列表中
 card_list.append(card_dict) # 把一个字典追加到一个列表中
 print card_list
 # 4.提示用户添加成功
 print '添加%s 的名片成功' % name_str

def show_all():
 """显示所有名片"""
 print '-' * 50
 print '显示所有名片'

 # 判断是否存在名片记录,如果没有,提示用户并且返回
 if len(card_list) == 0:
  print '当前没有任何的名片记录,请使用新增功能添加名片'
  # return 可以返回一个函数的执行结果
  # 下方的代码不会被执行
  # 如果return后面没有任何的内容,表示会返回到调用函数的位置
  # 并且不返回任何结果
  return
 # 打印表头
 for name in ["姓名", "电话", "QQ", "邮箱"]:
  print name,
 print ''
 # 打印分隔线
 print '=' * 50

 # 遍历名片列表依次输出字典信息
 for card_dict in card_list:
  # print card_dict
  print '%s\t\t%s\t\t%s\t\t%s' % (card_dict['name_str'],
          card_dict['phone_str'],
          card_dict['qq_str'],
          card_dict['email_str'])

def search_card():
 """搜索名片"""
 print '-' * 50
 print '搜索名片'

 # 1.提示用户输入要搜索的姓名
 find_name = raw_input('请输入要搜索的姓名:')
 # 2.遍历名片列表,查询要搜索的姓名,如果没有找到,需要提示用户
 for card_dict in card_list:
  if card_dict['name_str'] == find_name:
   print '姓名 电话 QQ 邮箱'
   print '=' * 50
   print '%s %s %s %s' % (card_dict['name_str'],
         card_dict['phone_str'],
         card_dict['qq_str'],
         card_dict['email_str'])

   # TODO 针对找到的名片记录执行修改和删除的操作
   # 在我们的日常编写程序中,如果一个函数的代码太多,阅读和编写都是一件困难的事情,而在开发中,可以针对一个具体独立的功能来封装一个函数,由这个函数来处理具体的操作,这样就能保证每个函数中的代码清晰明了,功能明确
   deal_card(card_dict)
   break

  else:
   print '抱歉,没有找到%s' % find_name


def deal_card(find_dict):
 print find_dict
 action_str = raw_input('请选择要执行的操作 '
       '[1] 修改 [2] 删除 :')
 # 替换已经存在的键值对
 if action_str == '1':
  find_dict['name_str'] = input_card_info(find_dict['name_str'], '姓名:')
  find_dict['phone_str'] = input_card_info(find_dict['phone_str'], '电话:')
  find_dict['qq_str'] = input_card_info(find_dict['qq_str'], 'QQ:')
  find_dict['email_str'] = input_card_info(find_dict['email_str'], '邮箱:')

  print '修改名片成功!!!'
 elif action_str == '2':

  card_list.remove(find_dict)

  print '删除名片成功!!!'

def input_card_info(dict_value, tip_message):


 """

 :param dict_value:字典中原有的值
 :param tip_message:输入的提示文字
 :return:如果用户输入了内容,就返回内容,负责返回字典中原有的值
 """
 # 1.提示用户输入内容

 result_str = raw_input(tip_message)
 # 2.针对用户的输入进行判断,如果用户输入了内容,直接返回结果
 if len(result_str) > 0:
  return result_str
 # 3.如果用户没有输入内容,返回‘字典中原有的值'
 else:
  return dict_value

执行cards_mian文件:

Linux下python制作名片示例 

Linux下python制作名片示例 

Linux下python制作名片示例

Python 相关文章推荐
Python获取Linux系统下的本机IP地址代码分享
Nov 07 Python
python中实现精确的浮点数运算详解
Nov 02 Python
手把手教你用python抢票回家过年(代码简单)
Jan 21 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
简单介绍django提供的加密算法
Dec 18 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
python实现网页录音效果
Oct 26 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 Python
Python中rapidjson参数校验实现
Jul 25 Python
Python爬虫的两套解析方法和四种爬虫实现过程
Jul 20 #Python
使用python脚本实现查询火车票工具
Jul 19 #Python
Python 判断文件或目录是否存在的实例代码
Jul 19 #Python
Flask框架Jinjia模板常用语法总结
Jul 19 #Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 #Python
python代码过长的换行方法
Jul 19 #Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 #Python
You might like
无限级别菜单的实现
2006/10/09 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
YII框架常用技巧总结
2019/04/27 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
python中文乱码的解决方法
2013/11/04 Python
Python爬取京东的商品分类与链接
2016/08/26 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
Python argparse模块应用实例解析
2019/11/15 Python
django自定义模板标签过程解析
2019/12/14 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
python SOCKET编程基础入门
2021/02/27 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
PHP如何自定义函数
2016/09/16 面试题
料理师求职信
2014/01/30 职场文书
建筑工地标语
2014/06/18 职场文书
5.12护士节活动总结
2015/02/10 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
如何利用Python实现一个论文降重工具
2021/07/09 Python
python创建字典及相关管理操作
2022/04/13 Python