Python基础-7.流程控制
一、Python条件控制语句
1.if语句
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
语法:
if 表达式1:
语句1
elif 表达式2:
语句2
else:
语句3
如果 “表达式1” 为 True 将执行 “语句1” 块语句 。
如果 “表达式1” 为False,将判断 “表达式2” 。
如果"表达式2" 为 True 将执行 “语句2” 块语句 。
如果 “表达式2” 为False,将执行"语句3"块语句。
【示例】根据成绩范围进行分类成绩的好坏
a = (input('请输入你的成绩:'))
if a == 100:
print('满分')
elif 100 < a >= 90:
print('优秀')
elif 90 < a >= 75:
print('良好')
elif 75 < a >= 60:
print('及格')
elif 60 < a:
print('不及格')
else:
print('请输入1——100的数字')
if的嵌套:
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
2.macth case语句
在 Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case,功能也类似,详见下文
语法:
match subject:
case <pattern_1>:
<action_1>
case <pattern_2>:
<action_2>
case <pattern_3>:
<action_3>
case _:
<action_wildcard>
match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切。
【示例】:根据网络状态码打印状态码详情
status = 404
match status:
case 200:
print('OK')
case 400:
print('Bad request')
case 404:
print('Not Found')
case 500:
print('Internal Server Error')
case 502:
print('Bad Gateway')
case 504:
print('Gateway Timeout')
case _:
print('未知状态')
二、Python循环语句
Python 中的循环语句有 for 和 while。
1.while语句
语法:
while 判断条件:
执行语句
【示例1】当a小于10就加2,直到a大于10为止
a = 5
while a < 10:
a += 2
print('a小于10,a的值为:', a)
【示例2】求1——100的总和
s = 0
counter = 1
while counter <= 100:
s = s + counter
counter += 1
print("1 到 100 之和为: %d" % s)
【示例3】数字猜谜游戏
while guess != number:
guess = int(input("请输入你猜的数字:"))
if guess == number:
print("恭喜,你猜对了!")
elif guess < number:
print("猜的数字小了...")
elif guess > number:
print("猜的数字大了...")
while else语法:
while 条件:
执行语句1
else:
执行语句2
【示例4】当b小于5时就输出当前值并加1,否则输出该值并表示已经大于5
b = 0
while b < 5:
print('b 小于 5,当前值为:', b)
b = b + 1
else:
print('b 大于或等于 5,值为:', b)
2.for语句
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
语法:
for 变量 in 循环范围:
执行语句1
else:
执行语句2
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
【示例】循环输出list1的所有元素
list1 = ['red', 'green', 'blue', 'yellow', 'black']
string = 's2hd3sj2984idf5ld'
for i in list1:
print(i)
range()函数
range()函数是内置的函数,它可以表达很多种形式。
- 1.遍历数字序列,比如10以内的数字(从0开始计数,不包括10) range(10)。
- 2.指定区间的值,从第一个数开始,不包含后面的数,到后面数的前一位 range(5, 9)。
- 3.指定区间的值,并指定每个数的增量(可以是负数,也就是步长,最后个数表示增量的值) range(0, 10, 3)。
【示例1】配合range()函数使用输出1——5
for x in range(1, 6):
print(x)
【示例2】使用for…else语句循环输出完6以内的数,输出finished
for y in range(6):
print(y)
else:
print('finished!!!')
【示例3】:0——10之前每隔3个输出一个数
for z in range(0, 10, 3):
print(z)
3.break和continue
- break语句:可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
- continue语句:被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
【示例1】使用break语句跳出循环
num = range(1, 6)
for bk in num:
if bk == 3:
break
print('bk的值为:', bk)
【示例2】使用continue语句跳出ct=3的步骤
num = range(1, 6)
for ct in num:
if ct == 3:
continue
print('ct的值为:', ct)