计算机在解决问题时,分别是顺序执行全部语句、选择执行部分语句、循环执行部分语句,分别是:顺序结构、选择结构、循环结构。以下图:spa
Python使用保留字if来组成选择语句,其格式以下:3d
if 表达式: 代码块
表达式能够是一个单纯的布尔值或者变量,也能够是比较表达式或者逻辑表达式,若是表达式值为真,则执行“代码块”;若是值为假,就跳过“代码块”,执行后面语句,如图调试
注:1.在Python中,当表达式的值为非零的数或者非空的字符串时,if语句也认为是条件成立(即为真值)。code
·· 2.使用if语句时,若是只有一条语句,那么语句块能够直接写到冒号“:”的右侧。但为了代码可读性不建议这么作。对象
3.常见错误: blog
1.if语句后面未加冒号 number = 3 if number == 3 #后面未加冒号,正确的是结尾处添加英文半角的冒号:if number == 3: print(number)
2.使用if语句时,若是在符合条件时,须要执行多个语句,必定要记得按照逻辑顺序进行代码缩进,不然程序的本意会有变化,但程序不会报错,且bug不容易发现。
代码1:
number = 3
if number == 3:
print(number)
print('这个是5')
代码2:
number = 3
if number == 3:
print(number)
print('这个是5'
Python中提供 if …else 语句来解决两个选择问题,其格式以下:开发
if 表达式: 语句块1 else: 语句块2
使用 if …else 语句时,表达式能够是一个单纯的布尔值或者变量,也能够是比较表达式或者逻辑表达式,若是表达式值为真,则执行“代码块”;若是值为假,执行else后面的代码块。如图所示:字符串
技巧:for循环
if…else额语句能够使用条件表达式进行简化,以下: a = 5 if a > 0: b = a else: b = -a print(b) 简化: a = 5 b = a if a > 0 else -a print(b)
注:1. 在使用else 语句时,else必定不能够单独使用,它必须和保留字if一块儿搭配使用。class
2.程序中使用if…else 语句时,若是出现多个if 语句多余else语句的状况,那么该else语句将会根据肯定该else 语句属于哪一个if语句。
在开发程序时遇到多选一的状况,则能够使用if …elif…else语句,具体状况以下:
if 表达式1: 语句块1 elif 表达式2: 语句块2 elif 表达式3: 语句块3 … else: 语句块n
使用 if …elif…else 语句时,表达式能够是一个单纯的布尔值或者变量,也能够是比较表达式或者逻辑表达式,若是表达式值为真,则执行语句;若是值为假,则跳过该执行语句,进行下一个elif判断,只有表达式所有为假的状况下,执行else后面的代码块。如图所示:
注:1. if 和 elif 都须要判断表达式的真假,而 else 则不须要判断;另外 elif 和 elif 都须要跟 if 一块儿使用,不能单独使用。
2. 使用if语句时尽可能避免遵循如下原则:
(1).当使用布尔类型的变量做为判断条件时,假设布尔类型变量为flag,较为规范格式; if flag: #表示为真 if not flag #表示为假 不符合规范格式: if flag == True: if flag == False: (2).使用 " if 1 == a: " 这样的书写格式能够防止错写成 " if a = 1: "这种形式,从而避免出错
前面已经介绍了3种形式的 if 语句,这三种均可以进行相互嵌套:
(1) . 在最简单的if语句中嵌套 if……else语句,形式以下:
if 表达式1: if 表达式2: 语句块1 else: 语句块2
(2). 在if……else中嵌套if……else语句,形式以下:
if 表达式1: if 表达式2: 语句块1 else: 语句块2 else: if 表达式3: 语句块3 else: 语句块4
注:if 选择语句能够有多种嵌套方式,开发时能够能够根据自身的须要进行选择合适的嵌套方式,但必定要严格控制好不一样级别代码的缩进量。
在程序开发过程当中,常常会根据表达式的结果,有条件的进行赋值,例如返回最大值:
a = 6 b = 3 if a > b: c = a else: c = b
针对以上代码,使用条件表达式进行简化,以下:
a = 6 b = 3 c = a if a > b else b
while循环是经过一个条件来控制是否要继续反复执行循环体(循环体是指一组被重复执行的语句)中的语句。
while 条件表达式: 循环体
当条件表达式的返回值为真时,则执行循环体中的语句,执行完毕后,从新判断条件表达式的返回值,直到表达式返回的结果为假是退出循环体。
注:在使用while循环语句时,必定不要忘记添加将循环条件改变为Flase的代码,不然,将产生死循环。但开发中也离不开死循环,可根据状况进行编写。
for 循环是一个依次重复执行的循环,一般适用于枚举、遍历序列和对象中的元素。语法以下:
for 迭代变量 in 可迭代对象: 循环体
迭代变量用于保存读除的值,对象为遍历或迭代的对象,该对象能够是任何有序的序列对象,如字符串,列表,元组等,循环体为一组被重复执行的语句。
for循环语句能够最基本的应用就是进行数值循环和遍历字符串。还能够进行遍历列表、元组、集合和字典。
在Python中,是容许在一个循环体中嵌套另外一个循环。
(1). 在while循环中嵌套while循环
while 条件表达式1: while 条件表达式2: 循环体2 循环体1
(2). 在for 循环中嵌套 for 循环
for 迭代变量1 in 对象1: for 迭代变量2 in 对象2: 循环体2 循环体1
(3). 在while 循环中嵌套 for 循环
while 条件表达式: for 迭代变量 in 对象: 循环体2 循环体1
(4). 在 for 循环中嵌套 while 循环
for 迭代变量 in 对象: while 条件表达式: 循环体2 循环体1
特殊案例:九九乘法表
for i in range(0,10): for j in range(1,i+1): print(str(j) + "*" + str(i) + "=" + str(i * j) +"\t" ,end = " " print("")
当循环知足必定条件时,程序会一直执行下去,若是须要在中间离开循环,也就是for循环结束重复以前,或者while循环找到结束条件以前,即break语句和continue语句。
break能够终止当前循环,包括for循环和while循环在内的全部控制语句。
在while中使用break语句:
while 条件表达式1: 执行语句 if 条件表达式2: break
在for 中使用break语句
for 迭代变量 in 对象: if 条件表达式: break
while语句使用break for语句中使用break
continue语句的做用没有break语句强大,他只能终止本次循环而提早进入下次循环中。
在while中使用continue语句
while 条件表达式1: 执行代码 if 条件表达式2: continue
在for 中使用continue语句
for 迭代变量 in 对象: if 条件表达式: continue
while语句使用continue for语句中使用continue
注:break与continue的区别
break语句通常会结合if 语句进行搭配使用,表示在某种条件下,跳出循环。若是使用嵌套循环,break语句将跳出最内层循环。
continue语句通常也会结合if语句进行搭配使用,表示在某种条件下,跳出当前循环的剩下语句,继续进行下一轮循环,若是使用嵌套循环,continue语句将只跳过最内层循环中剩余语句。
在Python中pass语句表示空语句,它不作任何事情,通常起到站位做用,经常使用在代码调试等。
#例: for i in range(1,10): #输出1~10的数不包含10 if i % 2 == 0: #判断是不是偶数 print(i,end="") #在同一行打印偶数 else: #不是偶数 pass #占位符,不作任何事情,直接跳过 #输出结果为: 2 4 6 8