5x00 Python条件控制语句的用法
Python条件控制语句的用法
5x10 条件判断语句(if语句)
#语法为:
if 条件表达式: #必须冒号
代码块 #缩进必须一致为一组
代码块
代码块
#这不属于以上一组代码,若没有所归属的代码组会报错
执行的流程:
- if语句在执行时,会先对条件表达式进行求值判断
如果为True,则执行if后的语句
如果为False,则不执行- Python中,当表达式的值为非零的数或非空的字符串时,会认为条件成立(即为真值)
- 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
- 代码块以 缩进开始,直到代码恢复到之前的缩进级别时结束
- 代码块就是一种为代码分组的机制
- 表达式后必须有英文冒号":"
a = 10
b = 5
if a > b:
print(a)
5x20 if-else语句
#语法:
if 条件表达式:
代码块
else:
代码块
执行流程:
- if-else语句在执行时,先对if后的条件表达式进行求值判断
如果为True,则执行if后的代码块
如果为False,则执行else后的代码块- else语句不能单独被使用,必须和if一起使用
a = 10
b = 5
if a > b: #符合条件即执行r=a代码
r = a
else: #不符合条件则运行else:语句下代码
r = b
以上代码可以简化为:
a = 10
b = 5
r = a if a > b else b
5x30 if-elif-else 语句
#语法:
if 条件表达式:
代码块
elif 条件表达式: #不符合if条件即向下elif判断
代码块 #若此elif条件符合即执行此代码块
elif 条件表达式:
代码块
....
else: #当所有elif条件都不符合,即执行else代码块
代码块
执行流程:
- if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断, if 和 elif 都需要判断条件式真假, else则不需要:
如果表达式的结果为 True,则 执行当前代码块,然后语句结束
如果表达式的结果为 False,则继* 续向下判断,直到找到True为止*- 如果 所有的表达式都是False,则执行else后的代码块
- elif, else语句不能单独被使用,必须和if一起使用
- 总结: if-elif-else中只会有一个代码块会执行
a = int(input(请输入整数:))
if a < 10:
print('个数')
elif a < 100:
print('十位数')
elif a < 1000:
print('百位数')
else:
print('负数或千位数')
5x40 循环语句
循环语句可以使指定的代码块重复指定的次数.循环语句分成两种: while循环 和 for循环
循环的三个条件
- 条件一,初始化表达式,初始化一个变量
- 条件二,条件表达式,用来设置循环执行的条件
- 条件三,更新表达式,修改初始化变量的值
5x41 while循环
#语法:
while 条件表达式:
循环体
- while循环 是 通过一个条件来决定是否要继续 反复执行循环体中的语句
- 一般在不确定循环次数条件下使用
- 循环体 是一组被重复执行的语句
- 使用while循环语句时,一定不要忘记添加改变循环条件为False的代码,否则将成为死循环
a = 0 #初始化表达
while a < 50: #条件表达
print(a)
a += 1 #更新表达,更新a值,当a=50时跳出循环
5x42 for循环
#语句:
# 迭代变量用于保存读取出的值
# 对象为要遍历或迭代的对象,可以是有序的序列对象如字符串,列表和元组
# 循环体为一组被重复执行的语句
for 迭代变量 in 对象:
循环体
- 是 计次循环,一般应用在循环次数已知的情况下
- 适合用于 枚举,遍历序列以及迭代对象中的元素
- 通常有 两种for循环:
- 进行数值循环
- 遍历字符串
5x42a 进行数值循环
- 一般进行数值循环 eg.累加…
语法:
result = 0 #赋值累加变量
for i in range(10):
result += i #实现累加功能
print(result) #循环结束时输出结果
range()函数有3个参数:range(start, end, step)
start = 起始值
end = 结束值
step = 步长,即两个数之间的间隔
- 在使用range()函数时,如果 只有一个参数,即表示end值;如果有 两个参数,即表示start和end值;如果有 三个参数,最后一个是步长
for i in range(1, 10, 2):
print(i, end=' ')
结果:
1 3 5 7 9
5x42b 遍历字符串
for 循环可用于遍历列表,元组,集合和字典
以下代码可以将字符串从横向转为纵向
word = "我是程式员"
print(word)
for wd in word:
print(wd)
结果:
我是程式员
我
是
程
式
员
5x43 循环嵌套
- Python中允许一个循环中嵌入另一个循环,成为 循环嵌套
- for循环和while循环 皆可进行循环嵌套
#语句:
#第一种:
while 条件表达式1:
while 条件表达式2:
循环体2
循环体1
#第二种:
for 迭代变量1 in 对象1:
for 迭代变量2 in 对象2:
循环体2
循环体1
#第三种:
while 条件表达式:
for 迭代变量 in 对象:
循环体2
循环体1
#第四种:
for 迭代变量 in 对象:
while 条件表达式:
循环体2
循环体1
打印九九乘法表:
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+'X'+str(i)+'='+str(i*j)+'\t',end='')
print('')
结果:
1X1=1
1X2=2 2X2=4
1X3=3 2X3=6 3X3=9
1X4=4 2X4=8 3X4=12 4X4=16
1X5=5 2X5=10 3X5=15 4X5=20 5X5=25
1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36
1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49
1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64
1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81
5x44 改变或跳出循环路径
可以利用continue, break或者pass语句改变循环路径或跳出循环
- 使用continue语句直接跳到循环的下一次迭代;如何有嵌套循环,只跳过当层循环中的剩余语句
- 使用break完全中止循环;如何有嵌套循环,将跳出当层循环
- 使用pass语句表示空语句,不做任何事情,只起到占位作用
#continue语句:
total = 0 #赋值总数变量
for number in range(1,100):
if number%2 == 1: #判断是否不是偶数
continue #跳过下一行代码,返回for下一循环
total += number #累加偶数的和
print(total) #输出累加结果
#break语句:
while 条件表达式1:
执行代码
if 条件表达式2:
break
for 迭代变量 in 对象:
if 条件表达式:
break
#pass语句:
for i in range(1,10):
if i%2 == 0: #判断是否偶数
print(i,end='')
else: #不是偶数
pass #占位语句,不做任何事,返回循环