Python基础-7.流程控制

TOC

一、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)