1.程序结构

计算机在解决问题时,分别是顺序执行所有语句、选择执行部分语句、循环执行部分语句,分别是:顺序结构、选择结构、循环结构。如下图:

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

2.选择语句

2.1最简单的if语句

Python使用保留字if来组成选择语句,其格式如下:

  1. if 表达式:
  2. 代码块

表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行“代码块”;如果值为假,就跳过“代码块”,执行后面语句,如图

注:1.在Python中,当表达式的值为非零的数或者非空的字符串时,if语句也认为是条件成立(即为真值)。

··  2.使用if语句时,如果只有一条语句,那么语句块可以直接写到冒号“:”的右侧。但为了代码可读性不建议这么做。

3.常见错误:

  1. 1.if语句后面未加冒号
  2. number = 3
  3. if number == 3 #后面未加冒号,正确的是结尾处添加英文半角的冒号:if number == 3:
  4. print(number)
  5. 2.使用if语句时,如果在符合条件时,需要执行多个语句,一定要记得按照逻辑顺序进行代码缩进,否则程序的本意会有变化,但程序不会报错,且bug不容易发现。
  6. 代码1
  7. number = 3
  8. if number == 3:
  9.   print(number)
  10. print('这个是5')
  11. 代码2
  12. number = 3
  13. if number == 3:
  14.   print(number)
  15.   print('这个是5'

2.2.if  …… else 语句

Python中提供 if …else 语句来解决两个选择问题,其格式如下:

  1. if 表达式:
  2. 语句块1
  3. else
  4. 语句块2

使用 if …else 语句时, 表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行“代码块”;如果值为假,执行else后面的代码块。如图所示:

技巧:

  1. ifelse额语句可以使用条件表达式进行简化,如下:
  2. a = 5
  3. if a > 0:
  4. b = a
  5. else:
  6. b = -a
  7. print(b)
  8.  
  9. 简化:
  10. a = 5
  11. b = a if a > 0 else -a
  12. print(b)

注:1. 在使用else 语句时,else一定不可以单独使用,它必须和保留字if一起搭配使用。

2.程序中使用if…else 语句时,如果出现多个if 语句多余else语句的情况,那么该else语句将会根据确定该else 语句属于哪个if语句。

2.3.if…elif…else语句

在开发程序时遇到多选一的情况,则可以使用if …elif…else语句,具体情况如下:

  1. if 表达式1:
  2. 语句块1
  3. elif 表达式2
  4. 语句块2
  5. elif 表达式3
  6. 语句块3

  7. else:
  8. 语句块n

使用 if …elif…else 语句时, 表达式可以是一个单纯的布尔值或者变量,也可以是比较表达式或者逻辑表达式,如果表达式值为真,则执行语句;如果值为假,则跳过该执行语句,进行下一个elif判断,只有表达式全部为假的情况下,执行else后面的代码块。如图所示:

注:1. if 和 elif 都需要判断表达式的真假,而 else 则不需要判断;另外 elif 和 elif 都需要跟 if 一起使用,不能单独使用。

2. 使用if语句时尽量避免遵循以下原则:

  1. (1).当使用布尔类型的变量作为判断条件时,假设布尔类型变量为flag,较为规范格式;
  2. if flag #表示为真
  3. if not flag #表示为假
  4. 不符合规范格式:
  5. if flag == True:
  6. if flag == False:
  7. (2).使用 " if 1 == a: " 这样的书写格式可以防止错写成 " if a = 1: "这种形式,从而避免出错

2.4 if 语句的嵌套

前面已经介绍了3种形式的 if 语句,这三种都可以进行相互嵌套:

(1) . 在最简单的if语句中嵌套 if……else语句,形式如下:

  1. if 表达式1:
  2. if 表达式2
  3. 语句块1
  4. else:
  5. 语句块2

(2). 在if……else中嵌套 if……else 语句,形式如下:

  1. if 表达式1:
  2. if 表达式2
  3. 语句块1
  4. else:
  5. 语句块2
  6. else:
  7. if 表达式3
  8. 语句块3
  9. else:
  10. 语句块4

注:if 选择语句可以有多种嵌套方式,开发时可以可以根据自身的需要进行选择合适的嵌套方式,但一定要严格控制好不同级别代码的缩进量。

3.条件表达式

在程序开发过程中,经常会根据表达式的结果,有条件的进行赋值,例如返回最大值:

  1. a = 6
  2. b = 3
  3. if a > b:
  4. c = a
  5. else:
  6. c = b

针对以上代码,使用条件表达式进行简化,如下:

  1. a = 6
  2. b = 3
  3. c = a if a > b else b

4.循环语句

4.1 while 循环

while循环是通过一个条件来控制是否要继续反复执行循环体(循环体是指一组被重复执行的语句)中的语句。

  1. while 条件表达式:
  2. 循环体

当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,重新判断条件表达式的返回值,直到表达式返回的结果为假是退出循环体。

注:在使用while循环语句时,一定不要忘记添加将循环条件改变为Flase的代码,否则,将产生死循环。但开发中也离不开死循环,可根据情况进行编写。

4.2. for循环

for 循环是一个依次重复执行的循环,通常适用于枚举、遍历序列和对象中的元素。语法如下:

  1. for 迭代变量 in 可迭代对象:
  2. 循环体

迭代变量用于保存读除的值,对象为遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串,列表,元组等,循环体为一组被重复执行的语句。

for循环语句可以最基本的应用就是进行数值循环和遍历字符串。还可以进行遍历列表、元组、集合和字典。

4.3. 循环嵌套

在Python中,是允许在一个循环体中嵌套另一个循环。

(1). 在while循环中嵌套while循环

  1. while 条件表达式1:
  2. while 条件表达式2
  3. 循环体2
  4. 循环体1

(2). 在for 循环中嵌套 for 循环

  1. for 迭代变量1 in 对象1:
  2. for 迭代变量2 in 对象2:
  3. 循环体2
  4. 循环体1

(3). 在while 循环中嵌套 for 循环

  1. while 条件表达式:
  2. for 迭代变量 in 对象:
  3. 循环体2
  4. 循环体1

(4). 在 for 循环中嵌套 while 循环

  1. for 迭代变量 in 对象:
  2. while 条件表达式:
  3. 循环体2
  4. 循环体1

特殊案例:九九乘法表

  1. for i in range(0,10):
  2. for j in range(1,i+1):
  3. print(str(j) + "*" + str(i) + "=" + str(i * j) +"\t" ,end = " "
  4. print("")

5.跳转语句

当循环满足一定条件时,程序会一直执行下去,如果需要在中间离开循环,也就是for循环结束重复之前,或者while循环找到结束条件之前,即break语句和continue语句。

5.1 break语句

break可以终止当前循环,包括for循环和while循环在内的所有控制语句。

在while中使用break语句:

  1. while 条件表达式1:
  2. 执行语句
  3. if 条件表达式2:
  4. break

在for 中使用break语句

  1. for 迭代变量 in 对象:
  2. if 条件表达式:
  3. break

while语句使用break                                                             for语句中使用break

5.2.continue语句

continue语句的作用没有break语句强大,他只能终止本次循环而提前进入下次循环中。

在while中使用continue语句

  1. while 条件表达式1:
  2. 执行代码
  3. if 条件表达式2:
  4. continue

在for 中使用continue语句

  1. for 迭代变量 in 对象:
  2. if 条件表达式:
  3. continue

while语句使用continue                                                     for语句中使用continue

注:break与continue的区别

break语句一般会结合if 语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句将跳出最内层循环。

continue语句一般也会结合if语句进行搭配使用,表示在某种条件下,跳出当前循环的剩下语句,继续进行下一轮循环,如果使用嵌套循环,continue语句将只跳过最内层循环中剩余语句。

6.pass语句

在Python中pass语句表示空语句,它不做任何事情,一般起到站位作用,常用在代码调试等。

  1. #例:
  2. for i in range(1,10): #输出1~10的数不包含10
  3. if i % 2 == 0: #判断是否是偶数
  4. print(i,end="") #在同一行打印偶数
  5. else: #不是偶数
  6. pass #占位符,不做任何事情,直接跳过
  7.  
  8. #输出结果为:
  9. 2 4 6 8

Python基础教程,流程控制语句详解的更多相关文章

  1. C#基础之流程控制语句详解

    C#程序的执行都是一行接一行.自上而下地进行,不遗漏任何代码.为了让程序能按照开发者所设计的流程进行执行,必然需要进行条件判断.循环和跳转等过程,这就需要实现流程控制.C#中的流程控制包含了条件语句. ...

  2. Qt零基础教程(四) QWidget详解篇

    在博客园里面转载我自己写的关于Qt的基础教程,没次写一篇我会在这里更新一下目录: Qt零基础教程(四) QWidget详解(1):创建一个窗口 Qt零基础教程(四) QWidget详解(2):QWid ...

  3. Qt零基础教程(四)QWidget详解(3):QWidget的几何结构

    Qt零基础教程(四)  QWidget详解(3):QWidget的几何结构 这篇文章里面分析了QWidget中常用的几种几何结构 下图是Qt提供的分析QWidget几何结构的一幅图,在帮助的 Wind ...

  4. Mysql高手系列 - 第18篇:mysql流程控制语句详解(高手进阶)

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 这是Mysql系列第18篇. 环境:mysql5.7.25,cmd命令中进行演示. 代码中被[]包含的表示可选,|符 ...

  5. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  6. python基础(二) —— 流程控制语句

    编程语言中的流程控制语句分为以下几类: 顺序语句 分支语句 循环语句 其中顺序语句不需要单独的关键字来控制,就是按照先后顺序一行一行的执行,不需要特殊的说明. 下面主要是 分支语句 和 循环语句的说明 ...

  7. Python流程控制语句详解

    1.程序结构 计算机在解决问题时,分别是顺序执行所有语句.选择执行部分语句.循环执行部分语句,分别是:顺序结构.选择结构.循环结构.如下图: 2.选择语句 2.1最简单的if语句 Python使用保留 ...

  8. for和while——python中的循环控制语句详解

    循环语句在绝大多数的语言中,都是必不可少的一种控制语句,循环语句允许我们执行一个语句或语句组多次.在python中有for循环和while循环两种,讲到这里,就不得不提到我们的迭代器对象 迭代器 迭代 ...

  9. python基础--------字符串的调用详解(2)

    Python 字符串的的调用方法~~~@@@ 17.  strip  : 去除字符串左右两边指定的字符 18.   rstrip : 去除字符串右边指定的字符 19 .   lstrip  :  去除 ...

随机推荐

  1. L1和L2正则化。L1为什么能产生稀疏值,L2更平滑

    参考博客:https://zhuanlan.zhihu.com/p/35356992 https://zhuanlan.zhihu.com/p/25707761 https://www.zhihu.c ...

  2. Java实现导入导出Excel:POI和EasyExcel

    文章与CSDN同步,欢迎访问:https://blog.csdn.net/qq_40280582/article/details/107300081 代码地址:https://gitee.com/il ...

  3. JavaScript:父页面与Iframe页面方法互调

    父页面调用Iframe页面中的函数 以上是父页面中定义的iframe,注意添加name属性 在父页面中调用mapFrame的ShowMyLocation方法 Iframe页面调用父页面的方法 直接在I ...

  4. bzoj3211花神游历各国&&bzoj3038上帝造题的七分钟2*

    bzoj3211花神游历各国 题意: n个数的序列,m个操作,操作两种:区间开根(向下取整)和区间求和.n≤100000,m≤200000,序列中的数非负且≤109. 题解: 一个≤109的数开6次根 ...

  5. (3)html-webpack-plugin的作用

    在内存中生成index.html页面 在前面的内容中我们已经知道了如何在内存中打包main.js并引入到页面中. 同样的,我们也可以把index.html也打包放入到内存中. 安装html-webpa ...

  6. GPO - AppLocker

    AppLocker can help you: Define rules based on file attributes that persist across app updates, such ...

  7. BT面板安装教程

    面板特点 一键配置服务器环境(LAMP/LNMP) 一键安全重启 一键创建管理网站.ftp.数据库 一键配置(定期备份.数据导入.伪静态.301.SSL.子目录.反向代理.切换PHP版本) 一键安装常 ...

  8. Mybatis——@MapperScan原理

    @MapperScan配置在@Configuration注解的类上会导入MapperScannerRegistrar类. 而MapperScannerRegistrar实现了ImportBeanDef ...

  9. I 2 C、 SPI、 USB驱动架构

    根据图12.4, Linux倾向于将主机端的驱动与外设端的驱动分离, 而通过一个核心层将某种总线的协议进行抽象, 外设端的驱动调用核心层API间接过渡到对主机驱动传输函数的调用. 对于I 2 C. S ...

  10. 大一寒假我在一个oj网站只刷了这些题从此入门了绝大部分通用算法

    如果你想入门算法,那么我这篇文章也许可以帮到你. 先说点题外话.这是在一个不冷不热的寒假,照理来说寒假应该很冷,但这个寒假是真的舒服.这样舒服的寒假学习似乎是一件不可能的事情,所以我继续我的游戏生涯, ...