实战Python:利用python在pycharm开发名片管理系统
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开发名片管理系统相关推荐
- NLP实战:利用Python理解、分析和生成文本 | 赠书
导读:本文内容参考自<自然语言处理实战:利用Python理解.分析和生成文本>一书,由Hobson Lane等人所著. 本书是介绍自然语言处理(NLP)和深度学习的实战书.NLP已成为深度 ...
- python有道翻译接口-【Python】Python利用有道翻译开发API应用示例
Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单, ...
- python有道字典_【Python】Python利用有道翻译开发API应用示例
Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单, ...
- python利用PyQt5和QTDesginer开发GUI应用(二)、股票查询工具
python应用GUI开发系列: python利用PyQt5和QTDesginer开发GUI应用(一).环境准备及demo -------------------------------------- ...
- 名片管理系统python详解_Python综合应用名片管理系统案例详解
本文实例讲述了Python综合应用名片管理系统.分享给大家供大家参考,具体如下: 综合应用已经学习过的知识点: 变量 流程控制 函数 模块 开发 名片管理系统 系统需求 程序启动,显示名片管理系统欢迎 ...
- python 利用python处理excel文件
python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...
- C#利用ASP.NET?Core开发学生管理系统详解
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...
- python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...
- [Python] 利用 Python 制作“飞花令”小工具
转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 介绍:飞花令是古时候人bai们经常玩一种"行酒令" ...
- C# 利用ASP.NET Core开发学生管理系统(一)
随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NET Core也应运而生.本文主要利用ASP.NET Core开发一个学生管理系统为例,简述ASP.NET Core开发的常见知识点, ...
最新文章
- python 栈实现 加减乘除_数据结构与算法(六):基于栈实现简单的四则运算
- 最长上升子序列(LIS)长度及其数量
- 【CyberSecurityLearning 41】Linux密码破解以及菜单加密
- klearn 文本分类_使用gensim和sklearn搭建一个文本分类器
- 18.HMM隐马尔可夫模型
- Blueprint 使用手记
- How to make a Logical Volume ON AIX5.3
- ArrayList 实现原理及源码解析(jdk8 底层⽤的是数组)
- typedef int Myfunc(const char *,const struct stat *,int)
- Yc 变量的交换(C语言谭浩强第五版第二章习题4.1为例)
- 公众号和订阅号的区别
- 波浪下划线怎么设置_如何在word中的文字下面加波浪线
- 快学Python:函数的使用
- 浅析深度学习中的mask操作
- Android学习笔记之Android平台架构和特性
- iOS原生二维码扫描(一)
- 电信CALL 通话记录hbase kafka flume 学习
- sublime 常用的一些快捷键
- 致Java开发者:济南java工资待遇
- KVM介绍 虚拟化简史