Python办公好轻松

978-7-115-60163-6
作者: 郎宏林丁盈
译者:
编辑: 胡俊英
分类: Python

图书目录:

详情

本书深入浅出地讲解了如何利用Python实现高效办公,包含Python编程的基础知识,以及Python在办公自动化方面的应用。 本书内容分2篇,共12章。第一篇介绍Python编程的基础知识,涉及Python编程的基本语法、流程控制、数据模型、函数式编程、程序调试与异常处理、面向对象编程等。第二篇介绍Python在办公自动化领域的应用,分为文件批处理、使用正则表达式对文本内容进行批处理、Excel数据分析自动化、图片批处理、爬取互联网数据、PDF文档处理自动化,基本涵盖了文件处理和数据分析方面的自动化办公工作。 本书提供丰富的配套资源(如教学视频、PPT、案例数据、源代码和编程练习的参考答案),读者可以参考学习并尝试将书中介绍的解决方案用于实际工作中,有助于提升办公效率,夯实编程技能。 本书不要求读者拥有Python或编程基础,适合想要入门Python编程的读者阅读,也适合想要利用Python实现办公自动化、提升办公效率的读者阅读。

图书摘要

版权信息

书名:Python办公好轻松

ISBN:978-7-115-60163-6

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。


版  权

著    郎宏林 丁 盈

责任编辑 胡俊英

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e60163”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

内 容 提 要

本书深入浅出地讲解了如何利用Python实现高效办公,包含Python编程的基础知识,以及Python在办公自动化方面的应用。

本书内容分2篇,共12章。第一篇介绍Python编程的基础知识,涉及Python编程的基本语法、流程控制、数据模型、函数式编程、程序调试与异常处理、面向对象编程等。第二篇介绍Python在办公自动化领域的应用,分为文件批处理、使用正则表达式对文本内容进行批处理、Excel数据分析自动化、图片批处理、爬取互联网数据、PDF文档处理自动化,基本涵盖了文件处理和数据分析方面的自动化办公工作。

本书提供丰富的配套资源(如教学视频、PPT、案例数据、源代码和编程练习的参考答案),读者可以参考学习并尝试将书中介绍的解决方案用于实际工作中,有助于提升办公效率,夯实编程技能。

本书不要求读者拥有Python或编程基础,适合想要入门Python编程的读者阅读,也适合想要利用Python实现办公自动化、提升办公效率的读者阅读。

前  言

Python是一门大众化的编程语言,不仅简单易学,而且功能强大,因此成为一门非常流行的语言,也让越来越多的学生、办公人群开始学习和使用Python编程。

非计算机专业的人学习一门编程语言往往有明确的目标:要么是希望掌握一门技能,提高自身的核心竞争力;要么是想通过编程解决一些工作或生活中的问题。编程是一门实践性非常强的技术,边学习边实践是学习编程最好的方式,这样既能保持学习者对编程的兴趣,也能让学习者体验到通过编程解决问题的成就感。

编程的一个典型的应用领域就是办公自动化,利用编程技术可以让办公人员摆脱大量烦琐重复的工作,提高工作效率和质量。例如,办公文档的批处理、Excel数据的自动汇总和数据分析、网络信息的自动爬取等自动化工作都可以通过编写Python程序来实现。

过去,编程是专业技术人员的工作,这些技术人员被称为程序员。而Python语言的出现,不仅降低了编程的难度,还通过大量的开源库提高了编程效率,一个办公文档的批处理程序可能仅需要十几行代码就能实现。现在,编程不再是程序员的专职工作,越来越多的办公人员开始应用Python语言编写程序来解决实际问题,提高自己的工作效率。

本书旨在帮助读者边学习边实践,书中的案例与办公场景紧密相关,从而让读者在学习编程的过程中,通过编写程序解决与自己学习和工作相关的问题,提高学习兴趣和成就感。

此外,因为从实践中学习知识更符合人们的学习特点,所以本书将编程知识融入实践中。本书结合大量实际应用提出解决各类问题所需要的功能点,每个功能点又对应一个或多个编程知识点,从而让读者在解决问题的过程中主动接受新的编程知识,避免因单纯学习编程知识而感觉枯燥乏味。

全书分2篇,共12章。第一篇(第1章~第6章)介绍了Python编程的基础知识,对于零基础编程的人来说,该部分是入门Python编程的必经之路,讲述了Python编程的基本语法、流程控制、数据类型、函数式编程、程序调试与异常处理、面向对象编程等内容;第二篇(第7章~第12章)介绍了Python在办公自动化领域的应用实践,涉及文件批处理、使用正则表达式对文本内容进行批处理、Excel数据分析自动化、图片批处理、爬取互联网数据、PDF文档处理自动化等内容,基本涵盖了办公应用在文档和数据分析方面的自动化工作,每个编程实践都可以延伸到实际工作中,提高办公效率。

本书涵盖以下主要内容。

第1章“入门Python”介绍Python基础知识,包括在计算机上安装Python开发工具、绘制程序流程图、编写基础Python代码等内容。

第2章“流程控制”介绍与流程控制相关的编程知识,包括条件判断结构、for循环结构、while循环结构、循环跳出语句等内容。

第3章“数据模型”介绍Python提供的基本数据模型,包括列表类型、元组类型、字典类型、可迭代对象等内容。

第4章“函数式编程”介绍函数式编程的思想与实现方法,包括函数的定义和调用、常用的内置函数、列表解析表达式、lambda表达式、生成器类型与yield表达式等内容。

第5章“程序调试与异常处理”介绍程序调试与异常处理的方法,包括程序的调试方法、断点设置与代码跟踪、异常处理与检测等内容。

第6章“面向对象编程”介绍面向对象编程的知识与实现方法,包括类与对象、类的封装、类的继承和多态性等内容。

第7章“文件批处理”介绍批量修改文件名称的程序设计方法,包括文件操作、文件批量命名、文件内容批量替换等程序设计内容。

第8章“使用正则表达式对文本内容进行批处理”介绍正则表达式在程序中的应用,包括应用正则表达式完成敏感词批量检测、校验通讯录的邮箱格式、批量替换指定的文本内容、批量提取符合规则的内容等。

第9章“Excel数据分析自动化”介绍通过程序处理Excel文件并进行数据分析的方法。本章首先介绍了科学计算工具NumPy和数据分析库pandas的使用方法,然后通过实际的Excel案例,讲解了应用Python程序完成对Excel文件中数据的读取、写入、数据分析和数据可视化,最后通过泰坦尼克号沉船乘客数据分析案例,完整描述了数据分析的整个过程。

第10章“图片批处理”介绍图片处理程序的设计方法。本章首先介绍了图片处理库Pillow的使用方法,然后通过图片格式批量转换、图片效果处理、为图片添加文字和水印等案例,给出了图片处理程序的完整设计过程。

第11章“爬取互联网数据”介绍爬虫程序的设计方法。本章基于Scrapy框架,系统介绍了爬虫的原理,并通过三个具体的爬虫案例,完整描述了爬虫程序的设计过程。

第12章“PDF文档处理自动化”介绍PDF文档处理程序的设计方法。本章通过批量合并PDF文档、拆分PDF文档、将PDF文档页面输出成图片、从PDF文档中提取文本内容等案例,给出了PDF文档处理程序的完整设计过程。

目标读者

本书主要面向大学生、办公群体以及对编程感兴趣的读者,尤其适合想要通过Python编程提升办公效率的读者。阅读本书不需要提前具备任何编程基础知识,适合读者用于零基础入门Python。

配套资源

本书每个章节后面都附有练习题,用于检验学习成果,巩固所学的知识。配套的练习题答案可以在异步社区网站下载。书中所有案例对应的代码和数据集也可通过异步社区网站下载。

本书还为第二篇“办公自动化”的各个案例提供了配套教学视频(可扫码观看),重点介绍实践项目的编程思路、技术难点以及编程过程中容易出现的问题,帮助读者顺利完成项目编程任务。图书的配套视频也可以在异步社区网站下载。

此外,本书还为有教学需求的读者提供了PPT讲稿,有需求的读者可以通过异步社区网站下载。

读者在阅读过程中,如果有疑难问题需要解答或者想和作者进一步交流,可通过电子邮箱xinchanyuan@163.com与其联络。

服务与支持

本书由异步社区出品,社区(https://www.epubit.com)为您提供后续服务。

您还可以扫码右侧二维码, 关注【异步社区】微信公众号,回复“e60163”直接获取,同时可以获得异步社区15天VIP会员卡,近千本电子书免费畅读。

配套资源

本书提供配套下载资源(案例数据集、Python源代码、PPT讲稿、编程练习的参考答案),请在异步社区本书页面中点击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。

提交勘误信息息信息

作者、译者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,单击“发表勘误”,输入错误信息,单击“提交勘误”按钮即可,如下图所示。本书的作者和编辑会对您提交的错误信息进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区投稿(直接访问www.epubit.com/contribute即可)。

如果您所在的学校、培训机构或企业想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接通过邮件发送给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。

“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、人工智能、测试、前端、网络技术等。

异步社区

微信服务号

第一篇 Python编程基础

第1章 入门Python

1.1 初识Python

学习目标:在计算机上安装Python,掌握Python IDE开发环境的使用,编写简单的Python代码。

1.1.1 下载和安装Python

Python为Windows用户准备了安装程序,下载后执行该文件即可安装Python。安装步骤如下。

(1)进入Python官网Windows下载页,选择Python 3.9.6。若网站有更新的版本,请下载新的版本,如图1-1所示。

图1-1 Python下载页面

Python 3.9.6版本不支持Windows 7或早期的Windows操作系统,如XP系统。若运行Python的计算机操作系统为Windows 7或早期的Windows操作系统,建议读者下载Python 3.8版本。

(2)在下载列表中,选择操作系统为Windows的安装包下载。操作系统为32位请选择“Windows installer(32-bit)”安装包,操作系统为64位请选择“Windows installer(64-bit)”安装包,如图1-2所示。

图1-2 Python下载文件列表

(3)安装包下载完成后,用鼠标双击安装包,进入Python安装向导首页。注意勾选【Add Python 3.9 to PATH】选项,该选项允许Python安装程序自动注册Path环境变量。Python的默认安装目录是Windows用户目录,选择【Customize installation】按钮可以进入自定义安装模式,自行选择安装目录,如图1-3所示。

图1-3 Python安装向导首页

(4)图1-4所示为选择所需的安装项。安装项包括Python文档、IDLE集成开发环境、Python标准测试库、PIP工具(用于下载和安装Python的第三方库)。这些安装项都很重要,选择全部选项,单击【Next】按钮进入下一步。

图1-4 Python安装项

(5)图1-5所示为Python高级安装选项,包括安装目录的设定、关联文件选项、将Python添加到系统环境变量等选项。接受默认选项,选择【Install】按钮即可开始安装。本次安装将Python安装到D盘的python目录下,也可以安装到默认目录。

图1-5 Python高级安装选项

(6)安装完成后,需要验证Python是否安装成功,进入Windows命令行窗口,在命令行窗口输入【Python】命令。如果出现图1-6所示的内容,则说明Python安装成功。

图1-6 在Windows命令行窗口验证Python是否安装成功

如果出现“python不是内部或外部命令,也不是可运行的程序或批处理文件。”的提示,则说明没有将Python执行文件所在路径配置到Path环境变量。因为Windows会根据Path环境变量设定的路径去查找python.exe,查找无果则会出现上述提示。解决方案是重新运行安装程序,重新安装时必须勾选【Add Python 3.9 to PATH】选项。

1.1.2 了解Python的交互环境

初学者在学习Python编程时,比较简单好用的开发工具是Python自带的IDLE(Python集成开发环境),IDLE包含在Python安装包中,Python安装完成后,IDLE自动完成安装。

不同操作系统启动IDLE的方法基本相同,下面主要介绍Windows 10系统启动IDLE的方法。

启动IDLE开发工具主要有两种方法:第一种方法是在系统搜索框中搜索Python;第二种方法是进入Python安装目录,启动IDLE开发工具。

第一种方法:在Windows 10操作系统的搜索框中输入“Python”,在弹出的程序列表中选择“IDLE (Python 3.9 64-bit)”,见图1-7。由于各计算机安装的Python版本可能不同,因此显示的程序名称可能不一致,但名称前缀必须是IDLE。

图1-7 Python程序列表

第二种方法:进入Python的安装目录,找到IDLE主程序来启动IDLE开发工具。Python安装目录是指安装Python时设置的安装目录,在前面的安装程序中,设置的安装目录是“d: \\python”,进入“d: \\python”目录,再进入“Lib”目录,再进入“idlelib”目录,使用鼠标双击“idlelib”目录下的idle.pyw文件。系统会启动IDLE开发工具(由于操作比较复杂,因此不建议采用这种启动方式)。如图1-8所示。

图1-8 启动IDLE开发工具

IDLE是一个工具包,包含Shell程序、代码编辑器、Python帮助文档等工具。

Shell程序是IDLE开发工具的主要工作窗口(见图1-9),也称为Shell窗口,在Shell窗口中可以直接执行Python代码。

图1-9 Shell窗口

另外,通过Shell程序可以实现创建、运行、测试和调试Python程序等功能,这些功能大多是通过菜单命令实现的。例如,如果我们希望打开代码编辑器来编写Python程序,可以通过Shell程序中【File】菜单下的【New File】菜单项来打开Python代码编辑器,如图1-10所示。

图1-10 通过Shell程序打开Python代码编辑器

代码编辑器用来编写Python代码,它可以保存和修改文本文件。Python代码是文本文件,因此可以直接用Windows记事本打开。

Python文档提供了入门教程、语言参考、安装和使用Python等内容,是学习Python编程非常重要的工具。在Shell窗口,可以按下F1键或通过【Help】菜单下的【Python Docs】菜单项来打开Python文档。

1.1.3 算式

算式是在进行数(或代数式)的计算时列出的,包括数(或代替数的字母)和运算符号,运算符号主要有加、减、乘、除、乘方、开方等。在Shell窗口输入的算式属于非常基础的Python代码,Shell窗口在执行算式时,会解释并执行用户输入的Python代码,并在Shell窗口输出执行结果。

例如:

3+5
6+10*2/5
(2+8)/2
(a+b)/2

3+5是比较简单的算式,算式的操作数是3和5,运算符号是“+”,该算式的运算结果是8。如图1-11所示。

图1-11 在Shell窗口中执行算式并输出结果

在算式“6+10*2/5”中,乘号运算符用的是“*”符号,除号运算符用的是“/”符号。在Python编程语言中,“*”符号表示乘号,“/”符号表示除号。

这个算式涉及运算符号的优先级和运算顺序。算式是先计算10与2的乘积,得出结果是20,然后再计算20除以5,得出结果是4,组合计算6与4的和,结果是10,如图1-12所示。

图1-12 执行算式并输出结果(1)

算式“(2+8)/2”是先计算2与8的和,得出结果10,然后10再除以2,最后得出结果5。如图1-13所示。

图1-13 执行算式并输出结果(2)

算式“(a+b)/2”是一个代数式,算式中的字母a和b分别表示不同的数,数可以是整数,也可以是小数。要计算出这个代数式的结果,首先需要确定a和b的值。

例如:当a=5b=7时,注意这里的等号和数学算式中的等号的意义不同。在编程语言中等号是赋值运算符,赋值运算符用于值运算,a=5表示将5赋值给ab=7表示将7赋值给b,经过赋值后a的值是5,b的值是7。将ab的值代入算式,算式变换为“(5+7)/2”,算式的计算结果为6。如图1-14所示。

图1-14 执行算式并输出结果(3)

在Shell窗口执行代数式计算时,需要输入三条语句:第一条语句a=5是把5赋值给a;第二条语句b=7是把7赋值给b;第三条语句用于计算代数式的结果。

1.2 变量与常量

学习目标:变量是程序中非常重要的一个概念,程序使用的数据都以变量的方式存储。本节主要介绍变量、常量、输入与输出函数。

1.2.1 变量的定义

在代数式中字母表示的数是不确定的,当需要求出代数式运算结果时,就需要为代数式的字母赋予一个数,该数参与代数式的运算。

长方形的面积公式a*b就是一个代数式,字母a表示长方形的长,字母b表示长方形的宽,当确定了长方形的长和宽时,即可确定ab表示的数,代数式的计算结果也可以确定。

代数式的字母在Python中称为变量,变量和代数式的字母有很大不同。变量不是表示一个数而是存储一个数值(在编程语言中数也称为数值),变量不但可以存储数值,也可以存储文字等内容。

变量就像一个快递盒,可以存放数值、文字等内容,但它每次只能存放一种内容。图1-15描述了一个变量,该变量存放了数值80.5,不能再同时存放其他数值。它可以重复存放内容,后面存放的内容会把前面存放的内容覆盖掉。

图1-15 变量

每个变量都有一个名称,用于区分不同的变量。图1-16中名称为width的变量存储了数值80.5,名称为height的变量存储了数值26。变量有了名称,即可在表达式中使用。图1-17描述了变量的使用方式。

图1-16 变量名称

图1-17 变量的使用方式

1.2.2 变量的命名

创建变量时,需要为变量命名。

Python为变量的命名制定了一些规则,这些规则是必须要遵守的:

(1)变量由字母(大写A~Z或小写a~z)、数字(0~9)和_(下划线)组合而成,但不能由数字开头;

(2)变量名称区分大小写,num和Num是两个不同的变量;

(3)不能使用Python语言的关键字作为变量名称,例如class、import、int等关键字;

(4)变量的名称要有意义,要让人一看到变量名称就知道这个变量表示什么意义。

图1-18中列出了Python语言的关键字,这些关键字不能用于命名变量。

图1-18 Python语言的关键字

图1-19中列出了变量命名示例,图形左侧是正确的变量命名,图形右侧是错误的变量命名。

图1-19 变量命名示例

1.2.3 变量的赋值

在Python中创建一个变量非常容易,直接在代码中写入变量的名称,同时将变量要存储的内容赋值给变量即可,如图1-20所示。

图1-20 赋值变量

例如图1-16中的width=80.5,就是将80.5赋值给width变量,此时width的值是80.5

带有赋值运算符的语句称为赋值语句,赋值运算符的右侧是表达式、数值、文字等内容,左侧是待赋值的变量。当赋值运算符的右侧是表达式时,则先计算表达式,然后把表达式的计算结果赋值给运算符左侧的变量。如图1-21所示。

图1-21 赋值语句

变量可以在赋值语句和表达式中直接使用,在使用过程直接引用变量的名称即可。

我们可以在一行赋值语句中创建多个变量,语法规则是:

变量名称1,变量名称2,……,变量名称n = 值1,值2,……值n

每个变量名称之间用英文逗号分隔。

例如,下面的语句创建了两个变量num1num2num1的值是20,num2的值是30。

num1,num2 = 20,30

除了“=”赋值运算符外,还有复合赋值运算符,复合赋值运算符是使用赋值运算符和算术运算符合并成一个新的运算符,该运算符称为复合赋值运算符。使用复合赋值运算符时,首先使用算术运算符与右侧的数值或算术表达式进行运算,然后将运算结果赋值给变量,如图1-22所示。

图1-22 复合运算符的效果

在表1-1中,“例子”一栏中a是变量。运算顺序是先执行算术运算,再执行赋值运算。运算符右侧的操作数可以是数值,也可以是算术表达式,算术表达式的运算顺序与数学运算顺序一致。

表1-1 复合赋值运算符

运算符

描述

示例

+=

执行加法后再赋值

a+=10等同于a=a+10

-=

执行减法运算后再赋值

a-=10等同于a=a-10

*=

执行乘法运算后再赋值

a*=10等同于a=a*10

/=

执行除法运算后再赋值

a/=10等同于a=a/10

%=

执行取模运算后再赋值

a%=10等同于a=a%10

**=

执行幂运算后再赋值

a**=10等同于a=a**10

//=

执行取整除运算后再赋值

a//=10等同于a=a//10

1.2.4 常量

变量的值在程序运行过程中可以改变,但有些变量的值需要保持不变。例如,在基于数学运算的程序中,圆周率是固定不变的值。类似圆周率等在程序运行过程中固定不变的值可以定义为常量,便于使用。

Python并没有提供定义常量的语法,一般通过约定俗成的变量名全大写的形式表示常量。

例如:

PI = 3.14

当变量名称PI全部是大写时,约定这是一个常量,该常量值不能在程序中修改。

1.2.5 输入与输出函数

1.输出函数

创建变量后,如何输出变量内容呢?输出变量的内容可以使用print函数,函数是一段已经编写好的Python代码,它可以实现确定的功能。print函数的功能是输出内容到Shell窗口。

可以把函数看作一个黑盒,我们不需要了解函数的代码实现,只需要明确函数的功能及调用方法即可。如图1-23所示。

图1-23 函数的输入与输出

在Python中,调用函数非常简单,只需要在代码中写入函数的名称,在函数名称后面添加一对小括号,如果函数需要传入参数,在括号内写入要传入的参数即可,变量名称、数值都可以传入给函数。

例如下面的代码创建了变量a,并赋值为30,然后使用print函数输出变量a的内容。

>>> a = 30
>>> print(a)
30
>>>

2.输入函数

Python提供的input函数用来获取用户的输入,称为输入函数,Python提供的函数也称为内置函数。

input是函数的名称,obj是函数传入的参数,该参数不是必需的。参数是字符串类型,可以是需要用户输入的提示信息。例如:“请输入一个整数:”“请输入三角形的底:”“请输入你所在的城市:”等。如果用户非常确定要输入的内容,也可以省略参数。图1-24形象地说明了input函数。

图1-24 input函数

下面的代码段演示了如何使用input函数获取用户的输入:

>>> s = input("请输入你所在的城市:")
请输入你所在的城市:北京
>>> print(s)
北京
>>>

上面的代码使用Python的内置函数input,要求用户输入所在的城市,input函数执行后,程序会等待用户的输入,用户输入完成后,input函数将用户的输入以字符串方式返回。

在程序运行过程中,有时需要获取用户输入的数值。例如在计算三角形面积的程序中,需要获取用户输入的三角形的底和高,底和高都是数值,数值又分为整数和小数。

(1)获取用户输入的整数

下面的代码段演示了如何获取用户输入的整数。

>>> num = input("请输入三角形的底:")
请输入三角形的底:30
>>> num = int(num)
>>> print(num)
30
>>>

上面的代码使用input函数将用户的输入赋值给num,再通过int函数将变量num的内容转换为整数,然后赋值给num,此时num存储的是整数。

前面的代码也可以写作以下形式:

>>> num = int(input("请输入三角形的底:"))
请输入三角形的底:30
>>> print(num)
30
>>>

上面的代码使用int函数,将input函数返回的字符串转换为整数。

(2)获取用户输入的小数

使用input函数获取用户输入的小数与获取整数的过程基本相同,不同的是要使用float函数将用户的输入转换为浮点数,浮点数是小数在计算机中的一种存储方式。

>>> num = float(input("请输入三角形的底:"))
请输入三角形的底:36.15
>>> print(num)
36.15
>>>

在上面的代码块中,使用float函数将用户的输入转换为小数。

1.3 数据类型

学习目标:了解Python的基础数据类型,包括整型、浮点型、布尔型和复数类型。通过本节的学习,可以掌握数字类型的使用。

1.3.1 认识数据类型

数值型数据的数字类型包括整数类型、浮点类型、布尔类型和复数类型。数值型数据用于表示数量,并可以进行数值运算。数值型数据由整数、小数、布尔值和复数组成,分别对应整型类型、浮点类型、布尔类型和复数类型,如图1-25所示。

图1-25 数字类型

1.创建数字对象并对其赋值

创建数字对象与创建变量语法相同,在创建数字对象的同时,可以直接为数字对象赋值。图1-26所示为创建数字对象的代码。

图1-26 创建数字对象代码

2.更改数字对象的值

通过为已创建的数字对象赋予一个新值,可以“变更”一个数字对象。这里的“变更”并没有更新该对象的原始数值,而是生成了一个新的数字对象,并返回这个数字对象的内存地址。数字对象是不可改变的对象,当程序更新一个数字对象时,Python会创建一个新的数字对象,并将该数字对象的内存地址返回给变量。图1-27所示为变更数字对象的值的代码。

图1-27 变更数字对象的值

3.用于处理数字对象的内置函数

数字对象可以参与所有算术运算符的运算。同时,Python也提供了一些内置函数对数字对象进行运算,如表1-2所示。

表1-2 用于数字对象运算的内置函数

运算

结果

abs(x)

获取x的绝对值或大小

int(x)

x转换为整数对象

float(x)

x转换为浮点对象

divmod(a,b)

将两个(非复数)数字作为传入的参数,并在执行整数除法时返回一对商和余数。例如a//b的商和余数,返回类型是元组

pow(x,y)

计算xy次幂

complex(re,im)

创建一个带有实部re和虚部im的复数

1.3.2 整数类型

Python的整数类型与另外一些编程语言表示的整数类型不太相同,一些编程语言整数的取值范围与系统位数有关。例如,在32位系统中,整数的取值范围约是−231~231,在64位系统中整数的取值范围约是−263~263。而Python的整数能表示的数值仅与系统支持的内存大小有关,也就是说Python可以表示很大的数,可以超过系统位数所能表示的数值范围。

图1-28所示为创建整数对象的代码,代码创建了整数对象a、b、c、d、e,并分别进行了赋值。

图1-28 创建整数对象

整数类型还提供了其他几个方法,主要方法介绍如下。

方法声明:bit_length()

返回值以二进制表示一个整数所需要的位数,不包括符号位和前面的零。

案例代码如下:

>>> num = -37
>>> bin(num)
'-0b100101'
>>> num.bit_length()
6
>>>

方法声明:to_bytes(length, byteorder,*, signed=False)

返回表示一个整数的字节数组。如果整数不能使用给定的字节数表示则会引发OverflowError异常。

参数length表示需要返回字节数组的长度;参数byteorder用于表示整数的字节顺序,如果byteorder"big",则最高位字节放在字节数组的开头,如果byteorder"little",则最高位字节放在字节数组的末尾;参数signed采用默认值即可。

案例代码:

>>> num = 12
>>> num.to_bytes(3,"big")
b'\x00\x00\x0c'
>>>

1.3.3 浮点类型

Python中的浮点类型类似Java语言中的double类型,是双精度浮点型,可以直接使用十进制或科学记数法表示。十进制数由数字和小数点组成,且必须有小数点,如0.123、12.85、26.98等;科学记数法形式如:2.1E5、3.7e-2等。其中e或E之前必须有数字,且e或E后面的指数必须为整数。

精度用来描述一个数值的准确程度,数学运算中经常会用到近似数,近似数与原数值非常相近,但又不完全与原数值相等,只是在一定程度上近似。精度与近似数相似,也是用一个与原数值非常相近的数代替原来的数值。

图1-29分别创建了浮点对象a、b、c、d、e。

图1-29 创建浮点对象

浮点类型还提供了其他几个方法,主要方法介绍如下。

方法声明:as_integer_ratio()

返回一对整数,其比率正好等于原浮点数并且分母为正数。

>>> pi = 2.0
>>> pi.as_integer_ratio()
(2, 1)
>>>

方法声明:is_integer()

如果浮点对象的值可以用有限位整数表示则返回True,否则返回False。

>>> pi = 3.14
>>> pi.is_integer()
False
>>> num = 2.0
>>> num.is_integer()
True
>>>

1.3.4 布尔类型

布尔类型属于整数类型的子类型,用于表示逻辑状态,逻辑状态只有真和假两个值,True表示真值,False表示假值,任何非0数字都为True。所以,在一定意义上可以把布尔类型看成整数类型。

图1-30分别创建了bOK、bSucess、bCancel布尔对象。

图1-30 创建布尔对象

Python判断一个值或对象的真假时,若值或对象为0、None、False,则这个值或对象为假,否则为真。

None是Python预定义的关键字,也是Python定义的内置常量,它表示一个空值。

1.3.5 复数类型

复数是一个实数和虚数的组合,一个复数是一对有序浮点型(xy),表示为x+yj,其中x是实数部分,y是虚数部分。

复数在科学计算中得到广泛应用。Python语言支持复数类型,下面是Python语言有关复数的几个概念。

(1)虚数不能单独存在,它总是和一个值为0.0的实数部分构成一个复数;

(2)复数由实数部分和虚数部分构成;

(3)实数部分和虚数部分都是浮点型;

(4)虚数部分的数字后面必须有j或J。

图1-31所示为复数对象的创建及其加法运算。

图1-31 创建复数对象及其运算

1.4 字符串

学习目标:字符串是程序中常用的数据类型。通过本节的学习,读者将掌握字符串的构成和基本使用方法。

1.4.1 认识字符串

字符串是有限个字符的有序集合。对汉语来说,一个字符就是一个汉字;对英语来说,一个字符就是一个英文字母或符号。我们使用的计算机键盘上的所有按键都是字符,有英文字母字符,有数字字符,还有一些特殊符号(如@%#&等),这些字符的组合称为字符串。

在Python中,字符串必须使用单引号、或者双引号、或者三引号引起来。引号必须是英文引号,不能是中文引号。图1-32所示为一些合法的Python字符串示例。

图1-32 字符串示例

1.4.2 字符串的拼接

字符串的拼接是指把两个或多个字符串连接在一起,形成一个字符串。如图1-33所示。

图1-33 字符串的拼接

Python的算术运算符“+”既可以完成两个数值的和运算,也可以将两个字符串或字符串类型的变量连接为一个字符串。

print函数输出字符串时,可以将多个字符串通过“+”运算符拼接在一起,如果需要拼接多个字符串,可以连续使用“+”运算符进行拼接。如图1-34所示。

图1-34 字符串拼接示例

多个字符串类型的变量也可以通过“+”运算符拼接在一起,形成一个字符串。案例03首先创建了str1str2两个字符串类型变量,并分别赋值“Python”和“编程”,然后使用“+”运算符将str1str2拼接成一个字符串,并赋值给str3变量。如图1-35所示。

图1-35 字符串变量的拼接

字符串类型的变量可以和字符串混合拼接。案例4演示了变量str1和“编程”通过“+”运算符拼接为一个字符串,并通过print函数输出到Shell窗口。如图1-36所示。

图1-36 字符串变量同字符串值的混合拼接

1.4.3 字符串的访问

Python提供了访问运算符“[ ]”,该运算符可以访问字符串的单个字符或多个字符。例如图1-38中的代码可以输出字符串的第一个字符。

在图1-37中,a1[0]是访问a1字符串的第一个字符,访问运算符“[ ]”里面的0是a1字符串的索引值。

图1-37 访问字符串指定的字符

索引是一个整数序号,从0开始。索引的长度是字符串的长度,通过索引序号,我们可以定位字符串的任意一个字符。

图1-38中字符串a的值是“think”,a的索引序号从0开始到4结束。字符串“think”共有5个字符,索引范围应该是0~4,因为索引序号是从0开始的,从0到4正好是5个字符。

图1-38 字符串的索引

图1-39中的代码分别输出a2字符串中的“P”“t”“n”字符。

图1-39 访问字符串指定的字符

现在我们已经学会了使用访问运算符“[ ]”访问字符串的任意一个字符。但是有时可能需要访问字符串的一个子串,子串就是字符串中一组任意连续的字符,如图1-40所示。

图1-40 字符串与子串

要访问字符串的子串,可以使用访问运算符“[:]”,该运算符在一对中括号里有一个英文符号“:”,用于标识子串的起始索引和终止索引,在“:”左侧是子串的起始索引,在“:”右侧是子串的终止索引。该运算符能够访问包括起始索引到终止索引(不包括终止索引)的所有字符。如图1-41所示。

图1-41 子串的访问

例如,a1字符串的值是“Hello World!”,现在需要访问子串“World”,该如何处理呢?

要访问a1字符串的子串“World”,可以编写下面的代码:

a1[6:11]

其中“:”左侧的数字6是字符“W”在a1字符串的索引,“:”右侧的数字11是字符“d”在a1字符串的索引加1,由于终止索引不包含在截取的子串内,因此字符“d”的索引需要加上1。a1[6:11]将会截取a1字符串中起始索引为6,终止索引为11的子串,如图1-42所示。

图1-42 访问字符串的子串

1.4.4 字符串的判断

还有一种比较重要的字符串操作就是判断一个子串是否在已知的字符串中。

例如:

s1 = “张明,赵虎,马汉,李云龙,王义”

字符串s1的值包含5位同学的名称,现在要求判断子串“赵虎”是否在s1中。

要判断一个子串是否包含在已知的字符串中,可以使用成员运算符“in”和“not in”来判断。成员操作符“in”(见图1-43)和“not in”(见图1-44)用于判断一个子串是否包含或不包含在已知的字符串中,若包含则返回True,否则返回False

图1-43 in运算符

图1-44 not in运算符

运算符“in”用于判断一个子串是否包含在已知字符串中。前面要求判断字符串“赵虎”是否在s1中,实现代码如图1-46所示。

在图1-45的代码中,语句:

"赵虎" in s1

图1-45 判断子串是否包含在字符串中

使用了成员运算符“in”,运算结果是布尔型。用于判断运算符左边的字符串,是否包含在运算符右边的字符串中,如果包含,则运算结果返回True,否则返回False

运算符“not in”用于判断一个子串是否不包含在已知的字符串中,如图1-46所示。

图1-46 判断子串是否不包含在字符串中

1.4.5 字符串相等判断

判断两个字符串的内容是否相同,在编程中也经常遇到。使用关系运算符“==”可以判断两个字符串的内容是否相同,如图1-47所示。

图1-47 判断字符串相等运算符

在图1-47的关系表达式中,如果字符串1和字符串2的内容相同,则该关系表达式返回True,否则返回False。

在图1-48中,因为s1s2的内容不相同,因此Shell窗口会输出False

图1-48 字符串相等判断

1.5 格式化输出

学习目标:使用print函数输出字符串时,对字符串进行格式化输出。

使用print函数可以向Shell窗口输出字符串和数值,满足程序信息的输出要求。在实际应用中,要求字符串和数值必须按照一定的格式输出字符串和数值。如输出的数值要求小数点后保留2位有效数字、按照规定的格式对字符串和数值混合输出等。

1.5.1 格式化输出案例

下面的案例代码输出圆的面积,如图1-49所示。

图1-49 print的格式化输出

格式化输出就是把要输出的内容按照预定义的格式输出。例如输出“圆的面积为:78”就是把字符串和变量的内容按照指定格式输出。

对输出格式进行修改,在输出的内容中添加半径及半径的值。输出格式为“半径为5.0的圆的面积为:78”,使用print函数可做如下格式化输出,如图1-50所示。

图1-50 print的格式化输出

前面输出圆面积的数值是整数,现在要求输出浮点数,并保留2位小数。再次修改输出格式,如图1-51所示。

图1-51 print的格式化输出

可见print函数的格式化输出功能非常强大,允许用户按照一定的格式来输出内容,如字符串和变量按照一定格式输出,设置小数保留的位数等。

1.5.2 print函数的格式化输出功能

在图1-52中,标记符“%”左侧的字符串是格式化字符串,格式化字符串由字符串和占位符组成,占位符的作用是在字符串中占据一个固定位置,内容由标记符“%”右侧的参数列表中的参数来填充,参数就是一个变量或一个数值。

图1-52 print格式化说明

格式字符串中可以包含多个占位符,占位符在字符串中的位置可以任意设置。需要注意格式字符串中的占位符和参数列表中的参数是一一对应的,格式字符串中有多少个占位符,参数列表中就有多少个参数对应。

参数列表中的每个参数之间使用英文逗号分隔,参数列表中的参数顺序与格式字符串中的占位符顺序要保持一致。例如图1-52中的格式字符串有两个占位符“%.2f”,因此参数列表中有两个参数。图1-53所示为占位符的替换顺序。

图1-53 占位符的替换顺序

占位符也称为格式说明符,由标记符“%”起始,然后是格式符,用于对待替换的参数进行格式化处理。

print函数常用格式说明符列表
%c        单个字符
%d        十进制整数
%f        十进制浮点数
%o        八进制数
%s        字符串
%x        十六进制数
%%        输出百分号%

在格式符前面可以添加控制域“0m.n”,例如%09.2f。

0表示指定m后,若输出的位数不足m,在前面空位添加字符0;若省略,在前面的空位默认添加空格。

m用于指定输出的位数,即输出项所包含的字符数。n指精度,用于指定输出的小数位数。未指定n时,隐含的精度为n=6位。例如:%.2f,m位默认位数,小数保留2位;%9.2f,表示位数为9位,小数保留2位;%09.2f,表示位数为9位,小数保留2位,位数不足的用0补齐。

1.5.3 占位符“%d”的使用

“%d”用于对整数进行格式化,对应的参数类型必须是整数或小数。可以指定输出的整数位数,当输出的整数位数不能填满指定的位数时,可以指定字符0填充,默认填充字符是英文空格。

图1-54所示为格式化整数输出的代码,参数列表中的参数可以是数值,也可以是变量。

图1-54 格式化整数输出

图1-55所示的代码格式化整数时,要求输出3位数字,如果输出的整数位数不足3位,在整数前面填充字符,默认填充字符是空格。

图1-55 格式化输出3位数字的整数

如图1-56所示,当输出的整数位数不足3位时,在整数前面填充字符0。

图1-56 格式化整数输出示例

1.5.4 占位符“%s”的使用

%s”用于对字符串进行格式化,对应的参数类型可以是数值,也可以是变量。

图1-57和图1-58所示为格式化输出字符串的示例。

图1-57 格式化字符串输出示例

图1-58 格式化字符串输出示例

1.5.5 占位符“%f”的使用

%f”用于对浮点数进行格式化,对应的参数类型是整数和小数,可以指定保留的小数位数。

如图1-59所示,占位符“%.2f”要求保留2位小数,如果需要保留3位小数,可以使用占位符“%.3f”。

图1-59 格式化输出浮点数示例

如图1-60所示,如果要输出百分号“%”,可以使用“%%”来表示输出一个百分号“%”。

图1-60 输出百分号示例

1.6 编辑代码

学习目标:在Shell窗口中编写的代码不能保存,不能再次编辑。这显然不是编写程序的理想方式。本节学习使用代码编辑器编写代码。

1.6.1 使用代码编辑器

使用代码编辑器可以保存我们编写的代码,代码保存后可以随时打开并重新编辑代码。如图1-61所示。

图1-61 代码编辑与保存

代码编辑器类似记事本,用户可以直接在代码编辑器的窗口编写代码,需要保存代码时,可以将代码保存到文件,当需要再次编辑代码时,可以使用代码编辑器打开前面保存的代码文件。Python代码文件的扩展名是py。

使用代码编辑器编写Python代码,首先要做的是在Shell窗口打开编辑器并新建一个代码文件,如图1-62所示。

图1-62 在Shell窗口新建代码文件

第一个步骤是使用鼠标单击【File】菜单,Shell窗口会弹出File菜单项列表,然后使用鼠标选择并单击【New File】菜单项。也可以使用快捷键Ctrl+N来打开编辑器并新建一个代码文件。

在打开的代码编辑窗口输入下面的代码:

# 求矩形的面积
width = 12
height = 5
S = width * height
print(S)

在代码编辑窗口编写Python代码,与在Shell窗口编写代码有所不同:代码编辑窗口没有命令提示符,可以直接编写代码;一条语句写完后,按下【Enter】键,代码编辑窗口并不执行这条语句,而是开始编写一条新的语句,如图1-63所示。

图1-63 在代码编辑窗口编辑代码

编写完代码,下一步要做的是将编写的代码保存到文件。

用鼠标单击【File】菜单,然后在弹出的菜单项列表选择并单击【Save】菜单项。也可以使用快捷键Ctrl+S来保存代码文件,如图1-64所示。

图1-64 保存代码

编写的代码保存到文件后,代码编辑窗口的标题会分别列出代码的文件名称和代码文件的保存路径,如图1-65所示。

图1-65 查看代码文件的保存路径

代码保存完成后,下一步要运行编写的代码,查看代码运行结果。

用鼠标单击【Run】菜单,Shell窗口弹出Run菜单项,在弹出的菜单项列表选择并单击【Run Module】菜单项,或者按下F5快捷键,如图1-66所示。

图1-66 运行代码文件

编写的代码会在Shell窗口运行,并输出代码的运行结果,如图1-67所示。

图1-67 查看代码运行结果

注意:运行代码是指代码由Python解释器解释并执行的过程。

1.6.2 代码注释

代码的注释对开发者编写的代码进行解释,借助于代码注释使其他开发者更容易理解代码结构,也有助于在很长时间后重新编辑代码。

1.单行注释

Python使用“#”符号表示单行注释,以“#”符号开始的语句为注释语句,解释器不会解释执行该条语句。

>>> #创建num变量
>>> num = input("请输入一个数值")
请输入一个数值30
>>> #输出num
>>> print(num)
30
>>>

在上面的代码中,以符号“#”开始的语句为代码的注释。以符号“#”开始的代码注释只能进行单行注释,不能进行多行注释。

2.多行注释

在Python中,多行注释使用三个单引号(''')或三个双引号(""")表示。

>>> '''
  这是多行注释,用3个单引号
  这是多行注释,用3个单引号
  这是多行注释,用3个单引号
'''
>>> """
  这是多行注释,用3个双引号
  这是多行注释,用3个双引号
  这是多行注释,用3个双引号
"""
>>>

1.6.3 代码缩进

在Python语言中,Python代码使用缩进对齐来表示代码逻辑。缩进是指相同层次语句通过缩进相同的空格数量来区分,对齐就是同一层次的语句要对齐,即每条语句缩进的空格数量要相同。

图1-68的代码结构被分为两个层次(注释语句除外),第02、03、06、08行语句为第一层次,第07、09行语句为第二层次。层次的划分通过缩进英文空格来表示,缩进空格可以使用Tab键,也可以直接输入空格,缩进建议为四个空格。

图1-68 代码缩进对齐示例

图1-69的条件结构中有4条语句,共分为两个层次,ifelse语句是第一层次,if语句和else语句要左端对齐,print语句是第二层次,因此print语句要缩进相应的空格。

建议在代码块的每个缩进层次使用单个制表符或两个(或四个)空格,切记不能混用。

图1-69 语句左端对齐

1.6.4 编写多行语句

Python语句一般以新的一行作为前面语句的结束。但是有时一条语句可能会占用多行,例如当语句过长导致编辑器的窗口宽度不能完全显示内容时,可以使用“\”符号将一行语句分为多行。

print('Hello World')
bookbrief='课程阐述Python的核心内容,\
包括基本的概念和语句、Python对象、映射和集合类型、\
  文件的输入和输出、函数和函数式编程等内容。'
print(bookbrief)

在上面的代码中,变量bookbrief存储的文字内容过长,需要使用“\”将一行语句分为多行。

1.6.5 转义符

在编程语言中,定义一些符号为转义符,定义的转义符有特殊的含义,与符号自身表示的含义不同。转义符以“\”开始,后面跟一个或几个字符。表1-3列出了在编写代码时,经常使用的转义符。

表1-3 常用的转义符及其介绍

转义符

描述

示例

结果

\

输入多行

s="a\

b\

c"

print(s)

abc

\\

输出反斜杠

print("\\")

\

\n

输出换行

print("a\nb")

a
b

\t

输出一个制表符

print("a\tb")

a    b

\'

输出单引号

print("\'喜鹊\'")

'喜鹊'

\"

输出双引号

print("\"喜鹊\"")

"喜鹊"

1.6.6 编码规范

编码规范,主要是指命名规范和编码格式要求。

1.命名规范

开发Python程序需要对变量、函数、模块等对象命名,在命名时需要遵循一定的规范。

(1)命名基本要求

命名含义清晰、不易混淆,使用标准的英文单词或缩写,若使用特殊约定或缩写,则要进行注释说明。

(2)模块命名

Python中的模块应全部以小写字母命名,如果名称中包含多个单词,则需要使用下划线分隔单词。

(3)函数命名

函数一般采用小写字母命名,如名称中包含多个单词,则需要使用下划线分隔单词。

(4)函数参数与变量命名

参数与变量的命名应尽量采用小写形式,如名称中包含多个单词,则需要使用下划线分隔单词。对于变量命名,禁止使用单个字符(如i、j、k……),但i、j、k允许作为局部循环变量使用。

2.编码格式要求

编码格式要求即代码的排版要求,规范的代码排版可以提高程序的易读性,也容易暴露代码存在的问题。下面给出了具体的排版规范要求。

(1)代码行的长度

单行不应超过80个字符,较长的语句要分成多行书写。

(2)空行

相对独立的代码块之间、变量说明之后应加空行。

代码应具有良好的可读性。除注释和命名外,排版格式对提高可读性也非常重要。排版要点是要利用缩进、空行和空格,使代码结构清晰。

1.7 流程图

学习目标:流程图主要用来描述程序的执行步骤,同时也是用来与其他开发者交流和沟通的工具。本节的学习目标是掌握流程图的阅读和绘制方法。

1.7.1 使用流程图描述程序步骤

在与他人沟通或交流程序时,快速阅读和理解程序步骤是非常重要的,当步骤过多或比较复杂时,文字描述会增加沟通交流方面的困难。

在这种情况下,使用图形描述程序步骤是一种比较好的思路,可以帮助他人快速理解程序执行的过程。

因此在描述程序步骤时,除使用文字描述外,还需要学会使用图形来描述,并且还要学会阅读他人使用图形描述的程序步骤。人们为了统一程序步骤的图形描述,预定义了一组图形符号来描述程序步骤,在图形符号上可以添加文字解释,说明该图形符号表示的意义。多个图形符号及其中的文字解释构成了程序步骤流程图,用图形符号描述程序步骤的绘制过程也称为绘制流程图。

图1-70所示为计算长方形面积步骤的流程图。

图1-70 计算长方形面积流程图

为了方便理解计算长方形面积步骤的流程图,下面列出了用文字描述的步骤。

第一步:输入长方形的长度和宽度。

第二步:判断输入长方形的长度和宽度是否小于或等于0,如果长度或宽度小于或等于0,执行第三个步骤,否则执行第四个步骤。

第三步:提示用户输入的长度和宽度有错误,程序结束。

第四步:计算长度和宽度的乘积。

第五步:输出长方形的面积。

1.7.2 认识流程图

流程图中的图形符号都是预先定义好的,每个图形符号在流程图中都表示一个确定的意义。这些符号已经被标准化,用标准化的图形符号绘制流程图的意义在于方便所有人理解。

标准化的流程图有六个图形符号,绘制流程图时也只能使用这六个图形符号。这六个图形符号分别是开始/结束、过程、输入/输出、子过程、判断、流线符号,如图1-71所示。

图1-71 流程图符号

1.开始/结束图形符号

如图1-72所示为开始/结束符号,用一个圆角矩形表示。在绘制流程图时,首先要绘制开始符号,最后绘制结束符号。

图1-72 流程图开始结束符号

2.过程符号

图1-73所示为过程符号,算法的每一个步骤(输入和输出步骤、判断步骤除外)都可以使用“过程”符号来表示,矩形内可以添加过程的简要说明。

图1-73 过程符号

3.输入/输出符号

图1-74所示为输入输出符号,算法的输入和输出步骤可以使用“输入/输出”符号,“输入/输出”符号用平行四边形来表示。例如从键盘获取用户输入,输出内容到显示器等这些需要输入和输出的步骤,都可以使用“输入/输出”符号来表示。

图1-74 输入输出符号

4.子过程符号

图1-75所示为子过程符号,当一个程序步骤较多时,需要绘制的流程图会非常复杂,在一个页面中不能完全展现。这时需要把步骤分为多个子步骤,分别进行绘制。在整体算法流程图中,用“子过程”符号来表示一个分解后的子步骤。

图1-75 流程图子过程符号

5.判断符号

图1-76所示为判断符号,算法中的条件判断步骤可以使用“判断”符号来表示。在条件判断情况下,算法的流程并不是按既定的顺序执行,而是根据不同条件选择不同的执行路径。

图1-76 流程图判断符号

图1-77描述了判断条件为真或假的程序执行路径。

图1-77 判断符号示例

6.流线符号

图1-78所示为流线符号,在流程图中,每个步骤之间用“流线”符号连接,箭头指向表示步骤的流程方向。例如输入步骤(使用输入/输出符号)的下一个步骤是计算步骤(使用过程符号),用“流线”符号连接两个步骤,流线符号的箭尾指向输入步骤,流线符号的箭头指向计算步骤。

图1-78 流程图流线符号

图1-79描述了流线符号的使用方法。

图1-79 流线符号示例

另外,在绘制流程图时,要严格遵循图形符号的形状,但图像符号的大小、颜色、外观不受限制。

现在我们已经了解了流程图中六个图形符号的意义,再来看图1-73所示的计算长方形面积流程图,就很容易理解。

查看流程图时,从“开始”符号顺着“流线”符号观察程序的每个步骤,遇到“判断”符号(判断步骤),会有两条“流线”符号(连接两个不同步骤),分别查看这两个不同步骤的流程,依此类推。流程图最后的图形符号是“结束”符号。

1.7.3 如何绘制流程图

绘制流程图的方式有很多,可以使用绘图工具,Word、PowerPoint等软件来绘制流程图,也可以在纸张上手工绘制流程图。下面介绍使用PowerPoint软件来绘制流程图的方法。

第一步:绘制“开始”符号,在【形状】选项卡中选择圆角矩形图形绘制到页面,在矩形符号内输入“开始”文字。如图1-80所示。

图1-80 绘制计算长方形面积流程图步骤1

第二步:在【形状】选项卡中选择平行四边形图形绘制到页面,在平行四边形符号内输入说明文字,并使用“流线”符号连接“开始”符号和“输入/输出”符号,如图1-81所示。

图1-81 绘制计算长方形面积流程图步骤2

第三步:在【形状】选项卡中选择菱形图形绘制到页面,输入文字说明,并使用“流线”符号连接“输入/输出”符号和“判断”符号,如图1-82所示。

图1-82 绘制计算长方形面积流程图步骤3

第四步:该步骤输出“长度和宽度错误”信息,如图1-83所示。

图1-83 绘制计算长方形面积流程图步骤4

第五步:该步骤用于计算长方形的面积,如图1-84所示。

图1-84 绘制计算长方形面积流程图步骤5

第六步:该步骤输出长方形的面积,如图1-85所示。

图1-85 绘制计算长方形面积流程图步骤6

第七步:绘制流程图的“结束”符号,并使用“流线”符号连接算法的第三个步骤和第五个步骤到“结束”符号,如图1-86所示。

图1-86 绘制计算长方形面积流程图步骤7

1.8 编程练习

1.使用IDLE的Shell窗口进行简单的算式计算。启动IDLE开发工具,在IDLE的Shell窗口中输入下面的算式,执行算式并查看计算结果。在Shell窗口输入算式时,需要将输入法切换到英文模式。算式输入完成后,按下键盘的【Enter】键,Shell窗口会执行输入的算式,并输出计算结果。

 (12-9)*6/8
(a+b)/a
15+30*2-29

2.计算三角形的面积,三角形的面积公式为:

S = 1/2ah

其中,公式中a为三角形的底,h为底所对应的高,S为三角形的面积。

编写要求:创建变量ah并赋值,创建变量S用于存储三角形的面积,计算三角形的面积,并使用print函数输出计算结果。

3.编写计算圆面积的程序,圆的半径由用户输入,半径为小数类型。

4.在Shell窗口创建两个变量a1a2a1用字符串赋值(字符串由数字构成),a2用整数赋值,计算a1a2的和(注意类型的一致性),并把计算结果输出到Shell窗口。

5.已知字符串:

s1 = “我要学习Python编程”
s2 = “学习编程需要数学知识吗?”

请按下面的要求编写程序:

(1)拼接s1s2,并用print函数输出拼接后的新字符串;

(2)用print函数输出s1的子串“Python”;

(3)判断子串“编程”是否在s1中。

6.在shell窗口执行下面的语句:

(1)输出字符串

print("圆的面积公式:%s"  %  ("半径的平方与圆周率的积"))
#输出效果:
圆的面积公式: 半径的平方与圆周率的积

(2)输出整数

print("今天是%d号" % (20))
#输出效果:
今天是20号

(3)输出小数,保留3位小数

print("圆周率:%.3f" % (3.14))
#输出效果
圆周率:3.140

7.新建一个Python代码文件,并在新建的代码编辑窗口输入下面的代码:

# 求圆的面积
radius = 3.2
pi = 3.14
S = pi * radius * radius
print(S)

将编写的代码文件保存到磁盘目录,文件名称为circle.py,在代码编辑窗口运行代码文件,查看程序运行结果。并说明代码文件中每行代码的作用。

8.绘制计算圆面积的程序流程图。

9.思考求三个数中最大值的算法,使用流程图绘制算法步骤。

10.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,绘制计算三门成绩的总分和平均分的流程图。

读者服务:

微信扫码关注【异步社区】微信公众号,回复“e60163”获取本书配套资源以及异步社区15天VIP会员卡,近千本电子书免费畅读。

相关图书

深度学习的数学——使用Python语言
深度学习的数学——使用Python语言
动手学自然语言处理
动手学自然语言处理
Web应用安全
Web应用安全
Python高性能编程(第2版)
Python高性能编程(第2版)
图像处理与计算机视觉实践——基于OpenCV和Python
图像处理与计算机视觉实践——基于OpenCV和Python
Python数据科学实战
Python数据科学实战

相关文章

相关课程