python基础(十三、综合应用

摘要:
如果系统提供的输入功能不能满足要求,则定义新的功能输入_卡片_信息展开并自定义系统的输入功能。输入方法:在函数上添加注释。7) Linux上的Shebang符号(#!

14.综合应用 - 名片管理系统
1)框架搭建
搭建名片管理系统框架结构
准备文件,确定文件名,保证能够在需要的位置编写代码
编写主运行循环,实现基本的用户输入和判断
(1)文件准备
①新建cards_main.py,保存主程序功能代码
程序的入口
每一次启动名片管理系统都通过 main 这个文件启动
②新建cards_tools.py,保存所有名片功能函数
将对名片的 新增、查询、修改、删除 等功能封装在不同的函数中

(2)编写主运行循环
在cards_main中添加一个无限循环
python基础(十三、综合应用第1张

①字符串判断
python if action in ["1", "2", "3"]:
python if action == "1" or action == "2" or action == "3":
a)使用 in 针对 列表 判断,避免使用 or 拼接复杂的逻辑条件
b)没有使用 int 转换用户输入,可以避免 一旦用户输入的不是数字,导致程序运行出错

②pass
pass 就是一个空语句,不做任何事情,一般用做占位语句,是为了保持程序结构的完整性

③无限循环
在开发软件时,如果不希望程序执行后立即退出,可以在程序中增加一个无限循环,由用户来决定退出程序的时机

④TODO 注释
在#后跟上TODO,用于标记需要去做的工作
格式:

TODO(作者/邮件) 显示系统菜单

python基础(十三、综合应用第2张

(3)在cards_tools中增加四个新函数
python基础(十三、综合应用第3张

(4)导入模块
在 cards_main.py 中使用 import 导入 cards_tools 模块
修改 while 循环的代码如下:
python基础(十三、综合应用第4张
至此:cards_main 中的所有代码全部开发完毕!

(5)完成 show_menu 函数
python基础(十三、综合应用第5张

2)保存名片数据的结构
程序就是用来处理数据的,而变量就是用来存储数据的
使用字典记录每一张名片的详细信息
使用列表统一记录所有的名片字典
python基础(十三、综合应用第6张
定义名片列表变量
在cards_tools文件的顶部增加一个列表变量
python基础(十三、综合应用第7张
注意:所有名片相关操作,都需要使用这个列表,所以应该定义在程序的顶部
程序刚运行时,没有数据,所以是空列表

3)新增名片
(1)功能分析
①提示用户依次输入名片信息
②将名片信息保存到一个字典
③将字典添加到名片列表
④提示名片添加完成

(2)实现 new_card 方法
python基础(十三、综合应用第8张
技巧:在PyCharm中,可以使用SHIFT + F6统一修改变量名

4)显示所有名片
(1)功能分析
迭代遍历名片列表,顺序显示每一个字典的信息

(2)代码实现
python基础(十三、综合应用第9张

(3)增加标题和使用“ ”显示
python基础(十三、综合应用第10张

(4)增加没有名片记录判断
插入红框内的判断语句即可。此处也可以用if else,但用return修改量最小,语句也更精简
python基础(十三、综合应用第11张
注意:
①在函数中使用“return”表示返回
②如果在“return”后没有跟任何内容,只是表示该函数执行到此就不再执行后续的代码

5)查询名片
(1)功能分析
①提示用户要搜索的姓名
②根据用户输入的姓名遍历列表
③搜索到指定的名片后,再执行后续的操作

(2)代码实现
①查询功能实现
python基础(十三、综合应用第12张

②增加名片操作函数:修改/删除/返回主菜单
python基础(十三、综合应用第13张

6)修改和删除
(1)查询成功后删除名片
由于找到的字典记录已经在列表中保存
要删除名片记录,只需要把列表中对应的字典删除即可

(2)修改名片
由于找到的字典记录已经在列表中保存
要修改名片记录,只需要把列表中对应的字典中每一个键值对的数据修改即可
python基础(十三、综合应用第14张

(3)修改名片细化
如果用户在使用时,某些名片内容并不想修改,应该如何做呢?
系统提供的input函数不能满足需求,那么就新定义一个函数input_card_info对系统的input函数进行扩展
python基础(十三、综合应用第15张
自定义的输入方法:
python基础(十三、综合应用第16张

(4)添加函数的注释
python基础(十三、综合应用第17张

7)Linux上的Shebang符号(# !)
(1)shebang的概念
“# !”这个符号叫做Shebang或者Sha-bang,Shebang通常在Unix系统脚本的中第一行开头使用,指明执行这个脚本文件的解释程序
(2)使用 Shebang 的步骤
①使用which查询python3解释器所在路径
python基础(十三、综合应用第18张
②修改要运行的主python文件,在第一行增加以下内容
python基础(十三、综合应用第19张
③修改主 python文件的文件权限,增加执行权限
python基础(十三、综合应用第20张
④在需要时执行程序即可
python基础(十三、综合应用第21张
注意:在windows下编辑的文件,在linux中运行时会报错。

免责声明:文章转载自《python基础(十三、综合应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇tableau学习maven pom.xml 中 springboot 升级MySQL Connector下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python基础二

一、pycharm使用 1、创建python新工程 2、添加内容文件及其位置 3、python调整字体,按住Ctrl+鼠标滑轮上下,pycharm设置在【File】-->【Settings】打开 设置:可以在【File】-->【Settings】-->【Editor】-->【General】的选项里进行设置 4、python...

使用boost.python进行混合开发

使用boost.python进行混合开发 原文请参照官网和各方参考,本文有改动! 参考链接:http://blog.csdn.net/lanbing510/article/details/12197901 引言: 1简介: Boost.Python 是Boost的一个组件。而Boost是目前很红火的准C++标准库,它提供了很多组件使得人们可以用C++语言更...

day15自定义模块的导入

目录 自定义模块 导入自定义模块: 导入模块的方式: 相对导入: 常用模块:random(后续更新) 自定义模块 什么是模块:本质就.py文件,封装语句的最小单位。 自定义模块: 编写自定义模块开头最好用多行注释说明模块内容。 模块中出现的变量(for循环、if结构、函数定义等)称为模块的成员。 模块的运行方式:1)脚本方式:直接用解释器执行,...

python pandas 对带时间序列的数据进行重采样处理

今天老板要处理一批带有时间序列的数据,源数据为1秒钟一行的csv数据,处理之后变成15分钟一行的数据。 源数据示例如下: time B00 B01 ... RollMean2.5RollMean10 2018-05-31 09:44:39 15.212 5.071 .....

python系列之(4)豆瓣图书《平凡的世界》书评及情感分析

本篇主要是通过对豆瓣图书《平凡的世界》短评进行抓取并进行分析,并用snowNLP对其进行情感分析。 用到的模块有snowNLP,是一个python库,用来进行情感分析。 1.抓取数据 我们把抓取到的数据存储到sqlite,先建表,结构如下: CREATE TABLE comment( id integer PRIMARY KEY autoincre...

使用Python进行PDF图片识别OCR

使用场景 使用图片识别可以快速提取图片中的信息,方便高效。 Python并不能直接对PDF进行识别,所以如果是识别PDF的话,需要先将PDF转化为图片,然后再进行识别。 必备工具 Python  可以安装3.7及以上版本 tesseract-ocr  下载地址: https://github.com/UB-Mannheim/tesseract/wiki 使...