程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

第三章:Python控制结构(python控制结构有几种)

hfteth 2025-07-08 18:15:11 技术文章 2 ℃

3.1 if语句

3.1.1 理论知识

if语句用于根据条件判断来决定是否执行特定的代码块。其基本语法结构为:

if condition:
    # 当condition为True时执行的代码块
    statements

condition是一个表达式,其结果为布尔值(True或False)。如果condition的值为True,则执行缩进在if语句下的代码块statements;如果为False,则跳过该代码块,继续执行if语句之后的代码。

3.1.2 示例代码

age = 18
if age >= 18:
    print("你已经成年,可以进行一些特定活动。")

3.1.3 代码解释

  • 首先定义变量age并赋值为18。
  • if age >= 18: 是条件判断语句,检查age是否大于或等于18。
  • 由于18 >= 18结果为True,所以会执行缩进在下一行的print语句,输出“你已经成年,可以进行一些特定活动。”。

3.2 if - else语句

3.2.1 理论知识

if - else语句在if语句的基础上增加了一个else分支,用于在条件不满足时执行另一组代码。语法结构如下:

if condition:
    # 当condition为True时执行的代码块
    statements1
else:
    # 当condition为False时执行的代码块
    statements2

如果condition为True,执行statements1;如果为False,则执行statements2。

3.2.2 示例代码

score = 75
if score >= 60:
    print("你通过了考试。")
else:
    print("很遗憾,你没有通过考试。")

3.2.3 代码解释

  • 定义变量score并赋值为75。
  • if score >= 60: 检查score是否大于或等于60。
  • 因为75 >= 60为True,所以执行if分支中的print语句,输出“你通过了考试。”。如果score的值小于60,则会执行else分支中的代码。

3.3 if - elif - else语句

3.3.1 理论知识

if - elif - else语句用于处理多个条件的情况。elif是“else if”的缩写,可以有多个elif分支。语法结构如下:

if condition1:
    # 当condition1为True时执行的代码块
    statements1
elif condition2:
    # 当condition1为False且condition2为True时执行的代码块
    statements2
elif condition3:
    # 当condition1和condition2都为False且condition3为True时执行的代码块
    statements3
else:
    # 当所有条件都为False时执行的代码块
    statements4

Python会依次检查每个条件,当某个条件为True时,执行对应的代码块,然后跳过整个if - elif - else结构;如果所有条件都为False,则执行else分支中的代码。

3.3.2 示例代码

score = 85
if score >= 90:
    print("成绩等级为A")
elif score >= 80:
    print("成绩等级为B")
elif score >= 70:
    print("成绩等级为C")
else:
    print("成绩等级为D")

3.3.3 代码解释

  • 定义变量score并赋值为85。
  • 首先检查if score >= 90:,由于85 < 90,此条件为False,继续检查下一个elif条件。
  • 检查elif score >= 80:,因为85 >= 80为True,所以执行该分支中的print语句,输出“成绩等级为B”,然后跳过后续的elif和else分支。

3.4 嵌套if语句

3.4.1 理论知识

嵌套if语句是指在一个if语句的代码块中再包含另一个if语句。这在需要进行多层次条件判断时非常有用。语法结构示例如下:

if outer_condition:
    # 当outer_condition为True时执行的代码块
    statements1
    if inner_condition:
        # 当inner_condition为True时执行的代码块
        statements2
    else:
        # 当inner_condition为False时执行的代码块
        statements3
else:
    # 当outer_condition为False时执行的代码块
    statements4

3.4.2 示例代码

age = 20
has_id = True
if age >= 18:
    if has_id:
        print("你可以进入酒吧,因为你已成年且有身份证。")
    else:
        print("你已成年,但没有身份证,无法进入酒吧。")
else:
    print("你未成年,不能进入酒吧。")

3.4.3 代码解释

  • 定义变量age为20,has_id为True。
  • 首先外层if age >= 18:检查年龄是否大于等于18,由于20 >= 18为True,进入外层if的代码块。
  • 在内层if has_id:检查是否有身份证,因为has_id为True,所以执行内层if分支的print语句,输出“你可以进入酒吧,因为你已成年且有身份证。”。如果has_id为False,则会执行内层else分支的代码。如果外层if条件不满足(即年龄小于18),则执行外层else分支的代码。

3.5 while循环

3.5.1 理论知识

while循环用于在条件为True时重复执行一段代码。语法结构如下:

while condition:
    # 当condition为True时重复执行的代码块
    statements

condition是一个布尔表达式,每次循环开始时都会检查该条件。只要condition为True,就会执行缩进的代码块statements,然后再次检查条件,直到条件变为False,循环结束。

3.5.2 示例代码

count = 1
while count <= 5:
    print(f"当前计数: {count}")
    count = count + 1

3.5.3 代码解释

  • 定义变量count并初始化为1。
  • while count <= 5: 是循环条件,检查count是否小于等于5。
  • 由于初始时1 <= 5为True,进入循环体,执行print语句输出“当前计数: 1”,然后count的值增加1(变为2)。
  • 再次检查循环条件,因为2 <= 5仍为True,继续循环,如此反复,直到count变为6,此时6 <= 5为False,循环结束。

3.6 for循环

3.6.1 理论知识

for循环主要用于遍历可迭代对象(如列表、元组、字符串等)中的每个元素,并对每个元素执行相同的操作。语法结构如下:

for variable in iterable:
    # 对iterable中的每个元素执行的代码块
    statements

iterable是一个可迭代对象,variable会依次取iterable中的每个元素值,每次取值后执行缩进的代码块statements。

3.6.2 示例代码

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(f"我喜欢吃 {fruit}")

3.6.3 代码解释

  • 定义列表fruits包含三个水果名称。
  • for fruit in fruits: 开始循环,fruit依次取列表fruits中的每个元素。
  • 第一次循环,fruit为'apple',执行print语句输出“我喜欢吃 apple”;第二次循环,fruit为'banana',输出“我喜欢吃 banana”;第三次循环,fruit为'cherry',输出“我喜欢吃 cherry”,遍历完列表所有元素后循环结束。

3.7 循环控制语句

3.7.1 break语句

理论知识:break语句用于立即终止当前循环,跳出循环体,执行循环后面的代码。

示例代码

for i in range(1, 10):
    if i == 5:
        break
    print(i)

代码解释

  • for i in range(1, 10) 会让i从1到9进行循环。
  • 当i等于5时,执行break语句,立即终止循环。所以输出结果为1、2、3、4。

3.7.2 continue语句

理论知识:continue语句用于跳过当前循环中剩余的代码,直接开始下一次循环。

示例代码

for i in range(1, 10):
    if i % 2 == 0:
        continue
    print(i)

代码解释

  • 同样for i in range(1, 10) 让i从1到9循环。
  • 当i是偶数(i % 2 == 0)时,执行continue语句,跳过本次循环中后续的print语句,直接开始下一次循环。所以输出结果为1、3、5、7、9。

3.7.3 else语句在循环中的使用

理论知识:for和while循环都可以带有一个else块。当循环正常结束(即没有通过break语句中断)时,会执行else块中的代码。

示例代码

for i in range(1, 4):
    print(i)
else:
    print("循环正常结束")

代码解释

  • for i in range(1, 4) 会依次输出1、2、3。
  • 由于循环没有被break中断,所以会执行else块中的代码,输出“循环正常结束”。如果在循环中有break语句并执行了,else块中的代码就不会执行。
最近发表
标签列表