Python学习笔记-条件语句与循环语句
🐍

Python学习笔记-条件语句与循环语句

Tags
Computer Science
Tech
Published
February 1, 2024
Author
Shuang Tian

1. 条件语句

在Python中,条件语句是用于根据条件执行不同代码块的控制结构。条件语句允许程序根据条件的真假来选择性地执行特定的代码。
Python中的条件语句主要有两种形式:if语句和if-else语句。
  • if语句:
    • 语句用于在满足条件时执行一段代码块。它的一般形式如下:
      if condition: # 代码块
      condition是一个布尔表达式,如果它的值为True,则执行if语句后面缩进的代码块。如果condition的值为False,则跳过该代码块,继续执行下面的代码。
  • if-else语句:
    • if-else语句用于在满足条件时执行一段代码块,否则执行另一段代码块。它的一般形式如下:
      if condition: # 代码块1 else: # 代码块2
      condition是一个布尔表达式,如果它的值为True,则执行if语句后面缩进的代码块1。如果condition的值为False,则执行else语句后面缩进的代码块2。
  • if-elif语句:
    • if语句还可以使用elif(即"else if"的缩写)来添加多个条件分支。这样可以在多个条件之间进行选择。
      if condition1: # 代码块1 elif condition2: # 代码块2 elif condtion3: # 代码块3 else: # 代码块4
      在上述形式中,首先检查condition1,如果为True,则执行代码块1。如果condition1False,则继续检查condition2,如果为True,则执行代码块2。以此类推,直到找到一个条件为True的分支,或者执行完所有条件分支后执行else块中的代码。
  • 条件表达式:一种简洁的方式来根据条件选择不同的值或执行不同的操作,通常被称为"三元运算符”。条件表达式的一般语法如下:
    • value_if_true if condition else value_if_false
      其中,condition是一个布尔表达式,如果它的值为True,则返回value_if_true;如果condition的值为False,则返回value_if_false
      例如:
      x = 5 result = "Even" if x % 2 == 0 else "Odd" print(result)
      条件表达式的优点是它们简洁明了,可以在一行代码中完成条件判断和结果返回。它们在某些情况下可以替代if-else语句,使代码更加紧凑和易读。
      需要注意的是,条件表达式的使用应适度。如果条件逻辑比较复杂,或者需要执行多个语句块,使用传统的if-else语句可能更清晰和可读。条件表达式适用于简单的条件判断和结果返回的情况。

2. 分支结构嵌套

分支结构嵌套是指在一个条件语句的代码块中包含另一个条件语句。这种嵌套可以让我们在更复杂的条件逻辑下进行更精细的控制。
分支结构嵌套可以通过在一个if语句的代码块中使用另一个if语句来实现。也可以在if语句的代码块中使用if-else语句,或者在if-else语句的else块中使用if语句。
if condition1: # 代码块1 if condtion2: # 代码块2 else: # 代码块3

3. 循环语句

循环语句是一种用于重复执行一段代码块的控制结构。在Python中,常用的循环语句有for循环和while循环。for循环适用于遍历可迭代对象或指定范围的整数序列,而while循环适用于在满足条件的情况下重复执行一段代码。选择使用哪种循环结构取决于具体的需求和情况。
循环语句允许我们重复执行一段代码,从而实现对数据的迭代处理、条件判断和控制逻辑。通过合理使用循环语句,我们可以简化重复性的任务,提高代码的效率和可读性。但是,需要注意在循环中避免出现无限循环的情况,以免造成程序的死循环。
  • for循环:
    • for循环用于遍历一个可迭代对象(如列表、元组、字符串等)中的元素,并对每个元素执行相应的操作。它的一般形式如下:
      for element in iterable: # 代码块
      element是可迭代对象中的一个元素,iterable是可迭代对象本身。在每次循环迭代时,element会依次取到可迭代对象中的一个元素,并执行for循环后面缩进的代码块。
      例如:
      fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)
      上述示例中,for循环遍历列表fruits中的每个元素,并将每个元素赋值给变量fruit,然后打印输出fruit的值。
      for循环结合range()函数是在Python中常用的迭代方式之一。range()函数用于生成一个整数序列,可以根据需要指定起始值、结束值和步长。for循环可以使用range()函数生成的整数序列来遍历执行一段代码。
      range()函数的基本语法如下:
      range(start, stop, step)
      参数说明:
    • start(可选):指定整数序列的起始值,默认为0。
    • stop:指定整数序列的结束值,但不包含该值。
    • step(可选):指定整数序列的步长,默认为1,不可以为负数。
    • for循环结合range()函数的常见用法如下:
      示例1:遍历一段代码执行固定次数
      for i in range(5): print(i)
      示例2:指定起始值、结束值和步长
      for i in range(1, 10, 2): print(i)
  • while循环
    • while循环用于在满足条件的情况下重复执行一段代码块。它的一般形式如下:
      while condition: # 代码块
      condition是一个布尔表达式,如果它的值为True,则执行while循环后面缩进的代码块。在每次循环迭代时,会检查condition的值,如果仍然为True,则继续执行循环;如果condition的值变为False,则跳出循环,继续执行下面的代码。
      例如:
      count = 0 while count < 5 print(count) count += 1
      上述示例中,while循环首先检查count是否小于5。如果是,则打印输出count的值,并将count的值加1。然后再次检查count的值,重复执行循环,直到count的值不再小于5时跳出循环。
      有两个语句可以用来跳出while循环,它们是breakcontinue
      使用breakcontinue语句可以在while循环中实现更灵活的控制流程。break用于完全跳出循环,而continue用于跳过当前迭代中的代码,进入下一次迭代。这些语句可以根据具体的需求,提高代码的执行效率和灵活性。
    • break语句
      • break语句用于立即终止当前所在的循环,无论循环条件是否满足。一旦执行到break语句,程序将跳出整个循环,并继续执行循环后面的代码。
        count = 0 while True: print(count) count += 1 if count == 5 break
        在上述示例中,while循环会一直执行,因为循环条件为True。但是,当count的值等于5时,执行到break语句,循环立即终止,程序跳出循环。
    • continue语句
      • continue语句用于跳过当前循环迭代中的剩余代码,直接进入下一次循环迭代。当程序执行到continue语句时,它会忽略当前循环迭代中剩余的代码,并回到循环的起始处,进行下一次循环迭代。
        例如:
        count = 0 while count < 5: count += 1 if count == 3: continue print(count)
        在上述示例中,当count的值等于3时,执行到continue语句,它会跳过print(count)语句,直接回到循环的起始处,进行下一次循环迭代。因此,数字3不会被打印输出。
    • else语句可以用于while循环和for循环结束后。
      • while循环中,else语句会在循环条件变为False时执行,即循环正常结束时执行。如果循环被break语句中断,则else语句不会执行。
        例如:
        count = 0 while count < 5: print(count) count += 1 else: print("Loop finished")
        在上述示例中,当count的值从0逐渐增加到5时,循环会正常执行。当count的值变为5时,循环条件变为False,此时else语句会执行,打印输出"Loop finished"。
        for循环中,else语句会在遍历完可迭代对象中的所有元素后执行,即循环正常结束时执行。如果循环被break语句中断,则else语句不会执行。
        例如:
        fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit) else: print("Loop finished")
        在上述示例中,for循环遍历列表fruits中的每个元素,并打印输出每个元素的值。当遍历完所有元素后,循环正常结束,此时else语句会执行,打印输出"Loop finished"。

4. 循环语句的嵌套

循环语句的嵌套是指在一个循环体内部包含另一个循环结构。通过循环语句的嵌套,可以实现更复杂的循环逻辑和嵌套的迭代操作。
在Python中,可以在for循环或while循环内部嵌套另一个循环。嵌套循环的语法结构与普通的循环语句类似,只需要在循环体内部再添加一个循环即可。
下面是一个示例,演示了for循环的嵌套:
for i in range(3): for j in range(2): print(i, j)
上述示例中,外层的for循环遍历的是一个范围为0到2的整数序列,内层的for循环遍历的是一个范围为0到1的整数序列。在每次外层循环的迭代中,内层循环都会完整地执行一遍。输出结果为:
0 0 0 1 1 0 1 1 2 0 2 1
可以看到,内层循环的每一次迭代都在外层循环的一次迭代中执行。
同样,while循环也可以进行嵌套。下面是一个使用while循环嵌套的示例:
i = 1 while i <= 3: j = 1 while j <= 2: print(i, j) j += 1 i += 1
上述示例中,外层的while循环控制变量i的值在1到3之间,内层的while循环控制变量j的值在1到2之间。在每次外层循环的迭代中,内层循环都会完整地执行一遍。输出结果与前述示例相同。
循环语句的嵌套可以用于处理更复杂的迭代逻辑和问题。通过合理地设计嵌套循环,可以实现多维数据的遍历、搜索算法的实现等。在使用嵌套循环时,需要注意循环的顺序和终止条件,以避免无限循环或逻辑错误。