day03_流程控制语句

概述

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组 合成能完成一定功能的小逻辑模块。 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:

  • 顺序结构
  • 分支结构
  • 循环结构

分支结构

条件成立执行某些代码,条件不成立则不执行这些代码。

单 if 语法

 代码示例

# 需求分析:如果用户年龄大于等于18岁,即成年,输出"已经成年,可以上网"。
age = 20
if age >= 18:
    print('已经成年,可以上网')

# 下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成立都要执行的代码')

if...else...语法

条件成立执行if下方的代码; 条件不成立执行else下方的代码。

 代码示例

# 获取到用户输入的年龄,判断是上网还是写作业
age = int(input('请输入您的年龄:'))
if age >= 18:
    print(f'您的年龄是{age},已经成年,可以上网')
else:
    print(f'您的年龄是{age},未成年,请自行回家写作业')

# 下方的代码没有缩进到if语句块,所以和if条件无关
print('我是无论条件是否成立都要执行的代码')

if多重判断语法

代码示例

'''
如果年龄小于18的情况为童工,不合法;
如果年龄在18-60岁之间为合法工龄;
大于60岁为法定退休年龄。
'''
age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您的年龄是{age},童工一枚')
# age >= 18 and age <= 60可以化简为18 <= age <= 60。
elif (age >= 18) and (age <= 60):
    print(f'您的年龄是{age},合法工龄')
elif age > 60:
    print(f'您的年龄是{age},可以退休')

注意事项:

if语句中,如果条件成立执行了某些代码,那么其他的情况的代码将不会执行。

if嵌套语法

执行流程

代码示例

"""
如果有钱可以上车,没钱不能上车;
上车后如果有空座,则可以坐下;
如果没空座,就要站着。怎么书写程序?
"""
# 假设用 money = 1 表示有钱, money = 0表示没有钱;
#        seat = 1 表示有空座,seat = 0 表示没有空座
money = 1
seat = 0
if money == 1:
    print('土豪,不差钱,顺利上车')
    if seat == 1:
        print('有空座,可以坐下')
    else:
        print('没有空座,站等')
else:
    print('没钱,不能上车,追着公交车跑')

三目运算符,语法如下

代码示例

"""
语法
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
"""
a = 1
b = 2

c = a if a > b else b
print(c)

# 需求: 有两个变量,比较大小 如果变量1 大于 变量2 执行 变量 1 - 变量2; 否则 变量2 - 变量1
aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc)

循环结构

循环的作用:让代码更高效的重复执行。在Python中,循环分为whilefor两种,最终实现效果相同。

while循环的语法

 

 代码示例

# 需求: 1-100偶数累加和 -- 2 + 4 + 6 + 。。。+ 100 = 结果 -- 输出结果

i = 1  # 控制循环的次数
result = 0  # 存储最终结果
while i <= 100:
    # 条件语句 -- if
    if i % 2 == 0:
        # 加法运算
        result += i
    i += 1

# 输出结果2550
print(result)

while...else语法:

注意事项:

  • 循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。
  • 如果是break终止循环的情况,else下方缩进的代码将不执行。
  • continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

代码示例

i = 1
while i <= 5:
    if i == 3:
        print('这遍说的不真诚')
        break
    print('媳妇儿,我错了')
    i += 1
else:
    print('媳妇原谅我了,真开心,哈哈哈哈')

执行结果

 while循环嵌套

所谓while循环嵌套,就是一个while里面嵌套一个while的写法,每个while和之前的基础语法是相同的。

语法:

执行流程

 打印九九乘法表,代码示例

# 重复打印9行表达式
j = 1
while j <= 9:
    # 打印一行里面的表达式 a * b = a*b
    i = 1
    while i <= j:
        print(f'{i}*{j}={j*i}', end='	')
        i += 1
    print()
    j += 1

for循环语法

代码示例

str1 = 'hello'
for i in str1:
    print(i)

for...else语法:

 注意事项:

  • else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。
  • 因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

代码示例

str1 = 'itheheloo'
for i in str1:
    if i == 'e':
        print('遇到e不打印')
        break
    print(i)
else:
    print('循环正常结束之后执行的代码')

执行结果

退出循环的方式:break和continue

break和continue是循环中满足一定条件退出循环的两种不同方式。

break执行之后终止此循环

代码示例

# break:当某些条件成立,退出整个循环
# 循环吃5个苹果,吃完第3个吃饱了,第4 和 5 不吃了(不执行) -- == 4 或 >3
i = 1
while i <= 5:
    # 条件:如果吃到4 或 > 3 打印吃饱了不吃了
    if i == 4:
        print('吃饱了,不吃了')
        break
    print(f'吃了第{i}个苹果')
    i += 1

执行continue语句之后,退出当前一次循环继而执行下一次循环代码

代码示例

# continue : 当条件成立,退出当前一次循环,继而执行下一次循环
# 吃5个苹果 -- 循环; 吃到第3个吃出一个虫子,第三个不吃了,没吃饱,继续吃4和5个苹果 -- 只有第三个不吃
i = 1
while i <= 5:
    # 条件
    if i == 3:
        print('吃出一个大虫子,这个苹果不吃了')
        # 如果使用continue,在continue之前一定要修改计数器,否则进入死循环
        i += 1
        continue
    print(f'吃了第{i}个苹果')
    i += 1
原文地址:https://www.cnblogs.com/wurengen/p/15349678.html