[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
- 动图演示如何运行
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 -
最后修改:2025年8月1日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.qian777.cn/71.html
共有 0 条评论