变成实际上是一个过程的提现,每个过程都是有多个流程块组成。

比如:判断是否下雨的过程

1.布尔值

在第一章最后举例了比较操作后,最终返回的结果 True or False

True 和 False是一组布尔值,并且注意的是首字母大写

布尔值可以和其他数据类型一样存放在变量里,另外也可以用作表示两组数据是否相等

2.比较操作符

”比较操作符“比较两组数据,最后的结果就是布尔值

通过这些操作符比较后,最终得出的结果是布尔值

例如:

print(1==1) 返回True

print(2!=2) 返回False

print(2>1) 返回True

print(1>2) 返回False

print('hello' == 'hello') 返回True

print('hello' == 'Hello') 返回False

另外注意 :

(1)==和!=可以用作所有数据类型进行比较,但是>、<、>=、<= 仅仅用户整型和浮点型

(2)==和=需要注意区分,==是比较操作符,而=是赋值使用

3.布尔操作符

布尔操作符一共有三类:and 、or、not

熟悉java的可以知道 and相当于&& ,or相当于 || ,not相当于!

and表示并且,意思就是and两边的布尔结果值都要是True,最终才返回True

or表示或者,意思就是and两边的布尔结果值只要有一个是True,结果就返回True

not表示非,即取相反值

布尔操作符和比较操作符同时使用

print((2>1) and (5>4)) 结果:True

print((4>5) and (5>3)) 结果:False

4.条件代码块

这是一种最常见,使用最频繁的代码逻辑

比如本章一开始的流程图里,菱形处都代表条件代码块的逻辑

条件代码块的结构:

解析:input()函数接收键盘输入的内容,保存到name变量中,键盘输入的内容是字符串,所以name的数据类型是字符串,if 后面就是进行逻辑判断的表达式,如果name等于'chengjq',注意,‘chengjq’这里是字符串,如果缺少单引号,则报错。如果满足输入的内容等于‘chengjq’,也就是返回的结果为True,则打印 hello chengjq

else表示否则,如果输入的内容不是‘chengjq’,则进入else代码块,输出 sorry chengjq

另外:if和else的最后都要加上冒号: 不要漏了

结构简介:

在很多时候,只有简单的if else子句无法满足需求,就可以使用elif语句

结构和if语句一样,后面需要加上True 或者 False的结果表达式

在实际情况下,需要注意条件的顺序,不一样的顺序最终出来的结果可能会不一样,另外,尽可能判断的所有可能性都包含在条件代码块里

5.whlie 循环语句

在现实情况下,需要循环不断的去做一件事,这个时候就用到循环语句

while循环语句的代码结构

while语句的结构和if语句的结构很类似

输出:5个hello world

解析:只要spam小于5 就一直输出hello world。但是每次输出一个hello world,spam就加1,当spam加到5的时候,spam<5 结果是False,不满足条件,则跳出while循环

6.break语句

break关键词是终止循环

比如在一个while循环中

解析:如果没有if语句,这个while循环将一直循环下去,这就是死循环,如果显示情况下,程序很可能就直接崩溃了

但是结合之前的if语句,如果spam等于5的时候,该whilie语句就直接跳出循环,不会造成死循环

7.continue语句

continue关键词是结束当前循环,继续执行下一个循环

解析:还是结合这个例子,当spam等于3时,执行continue,跳出当前循环,不打印hello world,但是spam还是要加1.当spam等于4的时候 不执行if和elif语句,打印hello world ,然后spam加1,当spam等于5的时候,执行elif里的代码块,跳出循环。

8.for循环和range函数

当程序中需要执行固定的次数时,可以使用for循环来实现(while语句也能实现,只是for语句更简洁)

结构简介:

结果:打印5次结果

解析:变量名i 默认从0开始,步长为1,i递增到(但不包括)传递给range函数的整数

range()函数最多有三个参数

当只有一个参数时,则表示终止值(结果为终止值-1),起始值默认0,步长为1

当有两个参数时,第一个参数表示开始值,第二个参数表示终止值,步长默认为1

当有三个参数时,第一个参数表示开始值,第二个参数表示终止值,第三个参数表示步长

9.导入模块

python内部可以调用很多基本的函数,成为内建函数,包括了之前的print(),input(),len()等等。

python还包括一组模块,成为标准库,里面有一些包含特定功能的函数,比如:math模块提供了数据运算相关的函数,random模块提供了随机数相关的函数

在使用一些标准库时,需要通过import语句导入模块

结构:

输出5次1到10 之间的随机整数

10.使用sys.exit()提前结束程序

通过调用sys.exit(),可以让程序终止或者退出,这个函数在sys模块里,所以要先import sys

但是个人感觉,这个函数太霸道了,不建议使用

注意:在if语句或者循环语句条件里 0或者0.0或者‘’(空字符串)都被认为是False

python第二章:控制流的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  3. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  4. 【原创】Python第二章——行与缩进

    Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...

  5. 【原创】Python第二章——标识符命名规则

    在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...

  6. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  7. Python第二章-变量和数据类型

    变量和数据类型 一.什么是变量,常量 思考:程序执行指的是什么? 对数据进行存储处理和计算,最终获得结果,这是程序执行的本质. 变量的概念和在数学中的变量的概念一样的,只是在计算机程序中,变量不仅可以 ...

  8. machine learn in python 第二章2.1.1

    1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...

  9. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

随机推荐

  1. k8s滚动更新(六)

    实践 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 下面我们部署三副本应用, ...

  2. ava实现时钟小程序【代码】

    其实这个程序并不难,主要是用Java 2D画图,弄一个线程,每隔一秒,依照时针分针秒针各自的速度重新计算它们走过的角度(相对12点方向顺时针偏离的角度),利用这个角度算出它们各自端点的坐标,重绘一次表 ...

  3. 【运维】Vmware虚拟机静态IP的设置

    这几天学习大数据,搭建的集群服务器由于Vmware内部实现的虚拟网关,动态分配ip,使得每次ip更改后,均需要修改集群节点的每个hosts文件,不然集群间联系会出错,因此为了杜绝这个问题,这里修改集群 ...

  4. 面试的加分项:懂点 Nginx 反向代理与负载均衡

      学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等.用一句别人开玩笑的话来说,java十年前的技术现在还能用,而前端的技术就不是这样的了 突然想起了d ...

  5. 关于人人开源renren-fast-vue 中npm install各种报错的解决方案

    首先吐槽一下,因为这个问题我整了好几天,把报错信息复制百度,试遍了各种方法,node.js我是卸载了安装,安装了卸载,甚至renren-fast-vue我也删了再下,然后再删,无限循环.然而没有什么软 ...

  6. Python-输入输出-input ouput

    输入.输出? 这种统称为IO流,也就是数据流向,在标准中,从终端输入称为标准输入 sidin,从终端输出为标准输出 stdout,从终端错误输出则为标准错误输出 stderr.这些只是IO流中终端方面 ...

  7. 1.变量:var,let,const

    var在ECMAScript的所有版本中都可以使用,而const和let只能在ES6及更晚的版本中使用. var,let,const三个关键字的区别 var: 1)声明作用域:在函数内部,使用var定 ...

  8. [Vue warn]: Error in render: "TypeError: Cannot read property 'matched' of undefined" found in <App> at src/App.vue

    当用Vue模块化开发时,输入  http://localhost:8080  页面没有显示,首先按F12,检查是否有如下错误 话不多说,直接看下面: 解决方法1 如果是上面出的问题,以后就要注意了哦, ...

  9. MySQL的8小时连接超时时间,导致系统过夜即崩溃,报错Could not roll back Hibernate transaction

    2014年3月开始给单位开发<机关规范化管理网络平台>,10月底成功上线运行,但是存在一个bug: 部署环境: apache tomcat 6.0.41 + mysql5.5 + jbpm ...

  10. helm部署mysql

    如果您的kubernetes已有了helm,那么部署mysql的步骤可以进一步简化,那些原先需要自己动手配置的deployment和service都已集成在chart中,今天就来实战通过helm部署m ...