python学习告一段落,利用python自己写的名片管理系统。
代码跟大一C语言课程设计开发的系统极其类似,那时候自己很喜欢写程序,晚上和舍友搞课程设计搞到两三点,哎,想想真是怀念。
荒废的时间已经拿不回来了。
种一棵树最好的时间是十年前,其次就是现在。

开发框架

两个文件,一个main,一个tools。
使用字典记录每一张名片的详细信息
使用列表记录所有的字典名片

代码知识点

(只是个人认为重要点的知识点,不代表代码里没有别的重点= =)

1、pass关键字
如果在开发中,不希望立刻编写分支内部的代码,可以使用pass关键字,表示一个占位符,能够保证程序的代码结构正确。程序运行时,pass关键字不会执行任何操作。
2、字符串判断 in关键字
使用in关键字可以进行字符判断

num = "1"
if num in ["1", "2", "3"]:  # 用in进行判断字符串是否是列表的成员....

3、使用input()从键盘接收代码时,如果不确定用户输入类型,则不需要进行类型转换
PS:

# 转换为int
num = int(input("请输入一个数字"))

4、鼠标右键点击某个参数refactor中rename可以对文件中同名参数进行重命名
5、无限循环
需要进行重复操作时,可以使用无限循环,知道满足某一个条件break跳出循环。

whille True:# 完成某一条件break

6、TODO注释
使用TODO强调注释,并且可以在Pycharm中查看所有TODO注释。在项目开发完毕后,务必将所有TODO删除。

# TODO 使用TODO强化提示并且可以在pycharm中查看所有TODO

7、return的使用
return可以返回一个函数执行的结果,下方的代码不会被执行。如果return后面没有任何内容,则直接返回调用函数部分并执行调用函数后方代码。
8、增加文档注释
在项目完成后,需要对新写的函数增加文档注释,保证自己以后可以回想起函数的作用。
增加方法:鼠标放到函数名上,点击小黄色灯泡,选择Insert documentation string stub.
查看文档注释方法:鼠标放到函数名上,Ctrl+q
9、SheBang
在python文件第一行增加SheBang符号(#!)+python解释器完整路径,增加之后就不需要解释器可以直接在终端中运行。
10、给一个文件增加可执行权限
chmod +x cards_main.py

全部代码

main.py

#! /usr/bin/python3# 名片管理系统
import tools  # 导入工具模块
version = "V1.0"    # TODO(KaiSarH) 定义系统版本号
while True:         # 使用无限循环保证代码不断重复# 欢迎界面# 定义operate_str保存用户选择的操作operate_str = cards_tools.show_wel(version)if operate_str in ["1", "2", "3"]:# 新增名片if operate_str == "1":cards_tools.card_insert()# 显示全部elif operate_str == "2":cards_tools.card_show()# 查询名片elif operate_str == "3":cards_tools.card_search()elif operate_str == "0":print("欢迎再次使用名片管理系统!")breakelse:print("您的输入不正确,请重新选择!")

tools.py

# 记录所有名片字典
card_list = []def show_wel(version):"""欢迎界面:param version:版本号:return: 返回选择的操作"""print("*" * 50)print("欢迎使用名片管理系统 %s " % version, end="\n\n")print("1. 新建名片")print("2. 显示全部")print("3. 查询名片", end="\n\n")print("0. 退出系统")print("*" * 50)operate_str = input("请选择希望执行的操作:")print("您选择的操作是:%s" % operate_str)return operate_strdef card_insert():"""新增名片"""print("功能:新增名片")name_str = input("请输入姓名:")phone_str = input("请输入电话:")qq_str = input("请输入qq:")email_str = input("请输入e-mail:")card_dict = {"name": name_str,"phone": phone_str,"qq": qq_str,"email": email_str}card_list.append(card_dict)print("添加 %s 的名片成功! " % name_str)def card_show():"""显示所有名片:return: 如果没有任何名片,返回空"""print("功能:显示所有名片")# 判断是否有名片if len(card_list) == 0:print("当前名片列表中没有任何记录,请使用新增名片功能添加名片!")return# 显示表头for list_head in ["姓名", "电话", "QQ", "邮箱"]:print("%s" % list_head,end="\t\t")print("")# 显示分割线print("-" * 51)# 打印所有名片for card_dict in card_list:print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],card_dict["phone"],card_dict["qq"],card_dict["email"]))print("-" * 51)def card_search():"""查询名片"""print("功能:查询名片")search_name = input("请输入要搜索的姓名:")for card_dict in card_list:if card_dict["name"] == search_name:print("姓名\t\t电话\t\tQQ\t\t邮箱\t\t")print("-" * 51)print("%s\t\t%s\t\t%s\t\t%s" % (card_dict["name"],card_dict["phone"],card_dict["qq"],card_dict["email"]))print("-" * 51)card_deal(card_dict)breakelse:print("没有找到%s的名片记录." % search_name)def card_deal(search_dict):"""处理查找到的名片:param search_dict: 查找到的名片"""operate_str = input("请选择要执行的操作:""1.修改 2.删除 0.返回上级菜单")if operate_str == "1":print("操作:修改名片")search_dict["name"] = input_card_info(search_dict["name"], "姓名:(不需要修改按回车)")search_dict["phone"] = input_card_info(search_dict["phone"], "电话:(不需要修改按回车)")search_dict["qq"] = input_card_info(search_dict["qq"], "QQ:(不需要修改按回车)")search_dict["e-mail"] = input_card_info(search_dict["e-mail"], "邮箱:(不需要修改按回车)")print("修改%s的名片成功" % search_dict["name"])elif operate_str == "2":print("操作:删除名片")card_list.remove(search_dict)print("删除%s的名片成功" % search_dict["name"])def input_card_info(dict_info, type_mess):"""输入名片信息:param dict_info:字典中原有值:param type_mess: 输入文字提示:return: 如果有输入,则返回输入的值"""prin_info = input(type_mess)if len(prin_info) > 0:return prin_infoelse:return dict_info

实战Python:利用python在pycharm开发名片管理系统相关推荐

  1. NLP实战:利用Python理解、分析和生成文本 | 赠书

    导读:本文内容参考自<自然语言处理实战:利用Python理解.分析和生成文本>一书,由Hobson Lane等人所著. 本书是介绍自然语言处理(NLP)和深度学习的实战书.NLP已成为深度 ...

  2. python有道翻译接口-【Python】Python利用有道翻译开发API应用示例

    Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单, ...

  3. python有道字典_【Python】Python利用有道翻译开发API应用示例

    Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单, ...

  4. python利用PyQt5和QTDesginer开发GUI应用(二)、股票查询工具

    python应用GUI开发系列: python利用PyQt5和QTDesginer开发GUI应用(一).环境准备及demo -------------------------------------- ...

  5. 名片管理系统python详解_Python综合应用名片管理系统案例详解

    本文实例讲述了Python综合应用名片管理系统.分享给大家供大家参考,具体如下: 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎 ...

  6. python 利用python处理excel文件

    python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...

  7. C#利用ASP.NET?Core开发学生管理系统详解

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...

  8. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  9. [Python] 利用 Python 制作“飞花令”小工具

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 介绍:飞花令是古时候人bai们经常玩一种"行酒令" ...

  10. C# 利用ASP.NET Core开发学生管理系统(一)

    随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NET Core也应运而生.本文主要利用ASP.NET Core开发一个学生管理系统为例,简述ASP.NET Core开发的常见知识点, ...

最新文章

  1. python 栈实现 加减乘除_数据结构与算法(六):基于栈实现简单的四则运算
  2. 最长上升子序列(LIS)长度及其数量
  3. 【CyberSecurityLearning 41】Linux密码破解以及菜单加密
  4. klearn 文本分类_使用gensim和sklearn搭建一个文本分类器
  5. 18.HMM隐马尔可夫模型
  6. Blueprint 使用手记
  7. How to make a Logical Volume ON AIX5.3
  8. ArrayList 实现原理及源码解析(jdk8 底层⽤的是数组)
  9. typedef int Myfunc(const char *,const struct stat *,int)
  10. Yc 变量的交换(C语言谭浩强第五版第二章习题4.1为例)
  11. 公众号和订阅号的区别
  12. 波浪下划线怎么设置_如何在word中的文字下面加波浪线
  13. 快学Python:函数的使用
  14. 浅析深度学习中的mask操作
  15. Android学习笔记之Android平台架构和特性
  16. iOS原生二维码扫描(一)
  17. 电信CALL 通话记录hbase kafka flume 学习
  18. sublime 常用的一些快捷键
  19. 致Java开发者:济南java工资待遇
  20. KVM介绍 虚拟化简史

热门文章

  1. 46. PHP 数据库
  2. windows系统 Git Server git服务器自己搭建 (基于 Gitblit or Gogs )
  3. Alpha冲刺 (2/10)
  4. CDN:内容分发网络
  5. 20165203 实验一 Java开发环境的熟悉
  6. 【原创】最新的答题热中,前端的一点小工作
  7. Tyvj3308毒药解药题解
  8. 关于constexpr
  9. PHP+Mysql+jQuery实现发布微博程序(PHP篇)
  10. 解决PID 4、NT Kernal占用80、445等端口