分支结构(if)
-
if单分支结构
格式:
if 条件语句:
代码块
条件语句是任何有结果的表达式,不能是赋值语句
代码块是与if保持一个缩进的代码或代码段,在满足条件语句时执行。
执行过程:先判断条件语句是否成立(布尔值是否为True),成立(为True)则执行代码块,否则不执行代码块
示例:根据输入的数据值打印奇数或偶数
num = int(input()) if num % 2 == 0: print('偶数') if not num % 2: print('偶数') if num % 2: print('奇数')
-
if双分支结构
格式:
if 条件语句:
代码块1(满足条件语句时执行)
else:
代码块2(不满足条件语句时执行)
执行过程:先判断条件语句是否成立(布尔值是否为True),若成立(为True)则执行代码块1,否则执行代码块2.
示例:根据年龄值打印成年或未成年
age = int(input('请输入年龄:')) if age>=18: print('成年') else: print('未成年')
示例:判断一个数是否是水仙花数:各位数的立方和等于这个数
num = int(input('请输入一个三位数:')) if (num //100) **3 +(num % 100 //10) ** 3+(num % 100) ** 3 == num: print(num,'是水仙花数') else: print(num,'不是水仙花数')
-
if多分支结构
格式:
if 条件语句1:
代码块1(满足条件语句1时执行)
elif 条件语句2:
代码块2(不满足条件语句1满足条件语句2时执行)
elif 条件语句3:
代码块3(不满足条件语句1、2满足条件语句3时执行)
…
else:
代码块n(不满足前面所有条件语句时执行)
执行过程:首先判断是否满足条件语句1,若满足条件语句1则执行代码块1,否则判断是否满足条件语句2,若满足则执行代码块2,否则继续判断下一条条件语句,直到前面的条件语句都不满足,则执行else后的代码块。
-
用if-else形成三目运算符
格式:
表达式2 if 表达式1 else 表达式3 ----首先判断表达式1是否成立,若成立则整个表达式为表达式2的值,若不成立则整个表达式为表达式3的值。
-
嵌套
在代码块中在嵌套if,可以在满足本条件下再在满足新的条件下执行新的代码块。
if 条件1:
if 条件2:
代码块1
如果满足条件1,则执行if 条件2:这条代码,如果在此基础上再满足条件2,才会执行代码块1.
示例:判断一个数是否是偶数,若是打印‘偶数’否则打印奇数,然后判断这个数是否被4整除,若能则打印‘’4的倍数
num = int(input()) if num % 2 == 0: print('偶数') if num % 4 == 0: print('能被4整除') else: print('奇数')
循环结构(for和while)
-
for循环
格式:
for 变量 in 序列:
循环体
变量可以是定义过的变量,也可以是为定义过的变量
序列是Python中容器型的数据,如:字符串、列表、字典、元组、集合、迭代器、生成器、range等
循环体是与for保持一个缩进的代码或代码块,是需要循环多次执行的代码
执行过程:先用变量在序列中逐个取值,每取一次值便执行一次循环体,循环体执行的次数与序列中元素个数相同。
-
range函数 --产生数字序列
range(N)- 产生一个0~N-1的数字序列(N为正整数)
range(M,N) - 产生一个M~N-1的数字序列(M<N、M、N为整数)
range(M,N,step) - 从M开始,每间隔N产生下一个数字,到N之前为止,step可以为-,此时M>N。
-
-
while循环
格式:
while 条件语句:
循环体
条件语句:任何有结果的表达式,除了赋值语句
循环体:与while保持一个缩进的代码或代码块,是需要循环执行的代码。
示例:不断从控制台输入数字,直到输入的数字是0时停止
num = 1 while num != 0: num = int(input('请输入:'))
-
注:for循环不能产生死循环,while能产生死循环
-
continue
Python中循环体中的关键字,只能在循环中使用,当程序运行到continue语句时,跳出此次循环,开始下一次循环。
-
break
Python中循环体中的关键字,只能在循环中使用,当程序运行到break语句时,结束整个循环。
Python中使用while循环时常使用break来作为结束的限制条件:
while True:
循环代码
if 结束条件:
break
-
else
-
for-else
for 变量 in 序列:
循环体
else:
代码块
-
while-else
while 条件语句:
循环体
else:
代码块
当循环时遇见了break语句,则不会执行else后面的代码,若未遇见则会执行。
-