zzy
05-Python流程控制语句

05-Python流程控制语句


        

复习网站

程序三大执行流程

从本节起,代码开始有逻辑性了,而不只是死板的数据操作

  • 程序的执行流程:
    1. 顺序执行: 程序运行时,代码从上往下依次执行.中间如果有报错,后面的内容不执行
    2. 选择执行: 根据条件满足与否,执行对应的代码
    3. 循环执行: 根据条件满足与否,重复执行对应的代码
  • 布尔型(bool): 逻辑判断 –> 要么真/假
    • 选择执行和循环执行的判断标准就是通过布尔值来判断

缩进的艺术,代码块的控制

在python中.是通过缩进来表示一个代码块的权限

  • python中.缩进是用tab进行表示
    1
    2
    3
    4
    5
    6
    age = 10
    # 如果age >= 18就执行里面的代码.否则无事发生
    if age >= 18:
    print('满足条件执行')
    print('加了缩进,所以受到if制约')
    print('无需满足条件也会执行')

选择执行(条件判断语句)if

if语句的作用为条件判断,根据判断结果执行对应的代码

  • if : 如果
  • else : 否则
  • elif : 或者 else if的简写

1. 单分支语句:

  1. 单分支: 满足条件就执行if里的代码.不满足就无事发生

  2. 语法格式:
    if <判断条件>:
    $\ \ $<执行语句>

  3. 案例:

    1
    2
    3
    age = int(input('请输入你的年龄'))
    if age >= 18:
    print('恭喜!成年了')

2. 双分支语句:

  1. 双分支: 满足条件就执行if里的代码,不满足就执行else里的代码

  2. 语法格式:
    if <判断条件>:
    $\ \ $<执行语句>
    else:
    $\ \ $<执行语句>

  3. 案例:

    1
    2
    3
    4
    5
    score = int(input('输入成绩'))
    if score >= 60:
    print('合格')
    else:
    print('挂科')

3.多分支语句:

  1. 多分支:满足条件就执行ifelif里的代码.都不满足就执行else里的代码

  2. 语法格式:

    if <判断条件>:
    $\ \ $<执行语句>

    elif:
    $\ \ $<执行语句>

    else:
    $\ \ $<执行语句>

  3. 案例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    score = 100
    if score == 100:
    print('A')
    elif score >= 80:
    print('B')
    elif score >= 60:
    print('C')
    else:
    print('D')
  4. 思考:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    score = 100
    if score >= 60:
    print('C')
    elif score >= 80:
    print('B')
    elif score == 100:
    print('A')
    else:
    print('D')

    输出有何区别?是否一致

ifelse一组只能有一个.elif可以有多个

逻辑运算符 not and or

  • not : 否运算.对条件结果取否.
  • and : 与运算. 当有多个条件时,都满足才为真.
  • or: 或运算.当有多个条件时,满足其中一个就为真.
  • 短路运算符:
    • 在进行逻辑运算时,如果遇到了短路条件,Python 解释器会立即停止求值,并返回相应的结果,而不再继续计算后面的表达式。
    • and 运算符:当使用 and 运算符连接多个条件时,如果其中有一个条件为假(False),则整个表达式的结果为假,Python 解释器会立即停止求值,并返回第一个为假的条件的值。如果所有条件都为真(True),则返回最后一个条件的值。
    • or 运算符:当使用 or 运算符连接多个条件时,如果其中有一个条件为真(True),则整个表达式的结果为真,Python 解释器会立即停止求值,并返回第一个为真的条件的值。如果所有条件都为假(False),则返回最后一个条件的值。

循环执行while

循环就是把一件事重复n遍
在编程中,循环语句的作用是为了让开发过程中:
1. 减少代码量
2. 提高运行效率

  • 如果我要输出100遍'科学麻将死路一条':

    1. 打100次print
    2. '科学麻将死路一条'*100
    3. 用循环
  • 死循环: 一直循环.不会停止
  1. while循环语句: 判断循环条件是否为真,为真就执行代码.为假就结束循环
  2. 语法格式:
    while <循环条件>:
    $\ \ $<执行语句>
    $\ \ $<更新语句>
  3. 案例:
    1
    2
    3
    4
    5
    num = 1
    # 当num小于等于100时,一直执行. 不小于等于了,停止
    while num <= 100:
    print(num)
    num += 1 # 等价与num = num + 1 的简便写法
  4. 最简单的死循环:
    while 1:
    $\ \ $<循环语句>

breakcontinue

  • break: 终止,结束本轮循环
  • continue: 跳过.跳过本次循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# break 做累了,眠
num = 1
while num <= 1145:
print(f'这是我做的第{num}份作业')
num += 1
if num == 114:
print('不做了,眠')
break

# continue 偷偷漏做几页作业
num = 1
while num < 114:
num += 1
if num == 11 or num == 45 or num == 19 or num == 81 or num == 114:
continue
print(f'这是我的第{num}页作业')

补充思考

break按例子看似没有用,因为如果在第十次循环break,那完全可以直接循环只写十次.

但实际操作中满足的条件可以是动态的,配合循环的条件更新语句,就有实际意义了.

占位符pass

  • 写代码过程中,内容没想好,写框架:

    1
    2
    3
    4
    5
    if 判断条件:
    空着不写

    while 判断条件:
    空着不写

    这样会报错

  • 已知一个地方要写一个if/while.但是还没有想好里面要放具体什么东西.就可以先写个pass.表示跳过. 程序遇到pass就会跳过

    1
    2
    3
    4
    5
    if 判断条件:
    pass

    while 判断条件:
    pass

迭代循环for

可以理解为是while的升级版.作用都是循环.但是在特定条件更方便
1.在遍历数据时
2.在循环次数已知时

  • 遍历/迭代:有一堆数据,把里面的数据一个个的取出来

for循环的语法:

1.遍历数据
1.变量名: 这里的遍历是作为一个临时容器使用.一般用i
2.可迭代对象: 可以理解为有多个数据的值(字符串,列表,元组),后续会再进行补充讲究
for <变量名> in <可迭代对象>:
$\ \ $<执行语句>
- 把字符串里的数据取出来.一个个的赋值给i.

1
2
3
4
name = '114514'
for i in name:
print(i,end='.')
# 输出: 1.1.4.5.1.4.

2.循环指定的次数
range的值默认从0开始.终点值到它的前一位
1.for <变量> in <range(数值)>: # 要循环多少次,数值就填几
1
2
3
for i in range(114):
print(i)
# 输出0-113

2.for <变量> in <range(起点,终点)>:
1
2
3
   for i in range(114,514):
print(i)
# 输出114-513

3.for <变量> in <range(起点,终点,步长)>:
1
2
3
for i in range(1,101,2):
print(i)
# 输出 1,3,5...

练习

  1. 用if和while写一个登录系统.密码输入超过3次就结束程序.
    思路: 声明一个变量num来保存密码输入次数.如果密码正确就登录成功, 如果错误就提醒. 超过了三次.就退出循环

  2. 用if写一个猜拳游戏.对方默认出石头

  3. 打印一个10*10空心矩形

附加:

  • 打印n阶的螺旋矩阵

    例如:
    [1,2,3,
    8,9,4,
    7,6,5,]

本文作者:zzy
本文链接:http://周梓煜.com/2024/03/22/python-05-流程控制语句/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可