2.流程控制

七言 2025-8-1 14 8/1

[TOC]

流程控制

if语句

  • if语句是一种条件语句,用于根据某些条件执行代码块,基本语法如下:

基本语法

if 条件:
    执行代码块
  • 条件是一个可以求值为True或False的表达式。如果条件的值为True,则执行if语句下面的代码块;如果条件的值为False,则跳过if语句下面的代码块,继续执行代码的下一个语句

if...elif

  • elif语句用于在满足多个条件时执行不同的代码块,而else语句则用于在所有条件都不满足时执行特定的代码块

基本语法

if 条件1:
    执行代码块1
elif 条件2:
    执行代码块2
else:
    执行代码块3
  • 如果条件1为True,则执行代码块1;如果条件1为False但条件2为True,则执行代码块2;如果条件1和条件2都为False,则执行代码块3
  • elif语句中的条件必须是互斥的

示例

# 定义一个变量
my_variable = 10

# 使用 if...elif 语句判断变量的值
if my_variable > 0:
    print("Positive number")
elif my_variable == 0:
    print("Zero")
elif my_variable < 0:
    print("Negative number")
*   先定义了一个变量my_variable,然后使用if...elif语句判断它的值。
*   如果变量的值大于0,则输出“Positivenumber”;
*   如果变量的值等于0,则输出“Zero”;如果变量的值小于0,则输出“Negative number”

While循环

  • while循环允许你重复执行一段代码,直到某个条件不再满足为止

基本语法

while 条件:
    # 执行的代码块
  • 条件是一个逻辑表达式,如果它是 True,则执行代码块;如果它是 False,则跳过代码块,循环结束

示例

a = 1
while a < 10:
    print(a)
    i += 1
  • 动图演示如何运行
    • 2.流程控制

break

  • break语句可以用来提前终止循环
  • 当break语句被执行时,循环立即结束,程序继续执行循环后面的代码
  • break只能终止当前循环,而不能终止外层循环和函数

示例

i = 1
while i <= 10:
    if i == 5:
        break
    print(i)
    i += 1
*   break语句在 i 等于5时被执行,导致循环立即结束。因此,程序只打印了从1到4的数字。

continue

  • continue语句可以用来跳过当前循环的剩余部分,直接进入下一次循环
  • 当continue语句被执行时,循环会立即跳转到下一次循环的开始,而不是继续执行当前循环的剩余代码

示例

i = 1
while i <= 10:
    if i == 5:
        continue
    print(i)
    i += 1
*   continue语句在 i 等于5时被执行,导致程序跳过打印5的操作,直接进入下一次循环。因此,程序只打印了从1到4和6到10的数字

while 循环使用 else 语句

  • else语句在循环正常结束时执行,即当循环的条件不再满足时执行
  • 如果循环因为使用了break语句而提前终止,则不会执行else语句

示例

i = 1
while i <= 10:
    print(i)
    i += 1
else:
    print("循环正常结束")
*   else语句在循环正常结束时执行,即当 i 的值大于10时执行。因此程序会打印1-10和 "循环正常结束"。

for循环

  • 遍历循环,允许你遍历序列(如列表、元组、字符串等)中的每个元素,并执行一些操作
  • for循环也可以使用break和continue

基本语法

for 变量 in 序列:
    # 执行的代码块
*   变量是一个临时变量,它在每次循环中被赋值为序列中的下一个元素。序列可以是列表、元组、字符串等任何可迭代的对象

示例

sites = ["Baidu", "Google", "Biying", "Sougou"]
for site in sites:
    print(site)
*   for循环遍历列表 sites,并将每个元素赋值给变量 site。然后,它打印出每个元素:Baidu、Google、Biying、Sougou

for循环初始化变量为0

  • 在循环开始前初始化一个变量并将其值设置为0,这样做通常是为了累积计算或计数的目的
  • 初始化变量为0允许你在循环过程中逐步更新该变量的值,比如累加、计数

示例

numbers = [1, 2, 3, 4, 5]
total = 0  # 初始化total为0
for num in numbers:
    total += num  # 累加每个元素到total中
print(total)  # 输出: 15
*   total变量被初始化为0,然后在每次迭代中,当前的num值被加到total上,最终,total包含了列表中所有数字的总和。
  • 初始化为0的原因

    • 1.避免未定义的行为:如果不初始化变量,尤其是在函数内部,可能会导致使用默认的None值进行数学运算,这会导致运行时错误

    • 2.简化逻辑:从0开始累积确保了累积过程的正确性,无论你的数据集是否包含任何值,最终的结果都是准确的。

    • 3.可读性和清晰性:明确地初始化变量可以使代码更易于理解,尤其是对于其他阅读代码的人。

for 循环使用 else 语句

示例

sites = ["Baidu", "Google", "Biying", "Sougou"]
for site in sites:
    if site == "Biying":
        print("必应搜索")
        break
    print(f"循环数据 {site}" )
else:
    print("没有循环数据!")
print("完成循环!")
*   循环过程中遇到break终止循环,else语句跳过。打印出:循环数据 Baidu、循环数据 Google、必应搜索、完成循环!

range()函数

  • 如果你需要遍历数字序列,可以使用内置 range() 函数

语法

range(start, stop, step)
*   tart表示序列的起始值,默认为0
*   stop表示序列的结束值(不包括)
*   tep表示序列中每个元素之间的步长,默认为1

示例1

for i in range(5):
    print(i)
*   range(5)生成了一个从0到4的数字序列,5是结束值,打印出每个元素:0-4

示例2

for i in range(1, 11):
    print(i)
*   range(1, 11)生成了一个从1到10的数字序列,然后for循环遍历这个序列并打印出每个元素:1-10

示例3

for i in range(0, 10, 2):
    print(i)
*   rang(10,2)生成了一个从0到10并且步长为2的数字序列,然后for循环遍历这个序列并打印出每个元素:0-2-4-6-8  

while循环和for循环使用场景判断

选择while循环场景

  • while循环的执行次数不是固定的,而是由循环条件决定的
  • 当你需要根据某个条件动态确定循环次数时,while循环是更好的选

选择for循环场景

  • for循环的执行次数是固定的,因为它基于序列的长度来确定循环次数
  • 当你需要遍历列表、元组、字符串等序列中的每个元素时,for循环是更好的选择
- THE END -

七言

8月01日16:45

最后修改:2025年8月1日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论