3_Python的流程控制语句:条件判断和循环控制语句

一、条件判断语句

Python中的条件判断语句包括if语句,if-else语句,if-elif-else语句。

(一)if语句

if语句用于根据条件执行不同的代码块。它的语法格式如下:

   if 条件:
    代码块1

其中,条件可以是一个布尔表达式,也可以是一个表达式的结果。如果条件为真,则执行代码块1
以下是一个示例代码:

num = 5
if num > 0:
    print("num大于0")

在这个示例中,如果num大于0,则执行第一个代码块

(二)if-else语句

if-else语句与if语句类似,但是只有一个代码块。它的语法格式如下:

if 条件:
    代码块1
else:
    代码块2

如果条件为真,则执行代码块1,否则执行代码块2。
以下是一个示例代码:

num = 5
if num > 0:
    print("num大于0")
else:
    print("num小于0")

在这个示例中,如果num大于0,则执行第一个代码块;否则执行第二个代码块。

(三)if-elif-else语句

if-elif-else语句与if-else语句类似,但是可以包含多个条件判断语句。它的语法格式如下:

if 条件1:
    代码块1
elif 条件2:
    代码块2
else
    代码块3

其中,条件1、条件2、条件3等都可以是布尔表达式或表达式的结果。如果执行条件1,则执行代码块1;如果执行条件2,则执行代码块2;如果执行条件3,则执行代码块3。
以下是一个示例代码:

num = 5
if num > 0:
    print("num大于0")
elif num < 0:
    print("num小于0")
elif num == 0:
    print("num等于0")
else:
    print("num不等于0")

在这个示例中,如果num大于0,则执行第一个代码块;如果num小于0,则执行第二个代码块;如果num等于0,则执行第三个代码块;否则执行第四个代码块。

(四)if语句的嵌套

在Python中,if语句可以嵌套,即在一个if语句中嵌套另一个if语句。这样可以根据不同的条件执行不同的代码块,从而实现更加复杂的逻辑控制。
以下是一个示例代码:

num = 5
if num > 0:
    if num % 2 == 0:
        print("num是偶数")
    else:
        print("num是奇数")
else:
    print("num小于0")

在这个示例中,首先判断num是否大于0,如果是,则再判断num是否是偶数。如果是,则输出"num是偶数",否则输出"num是奇数"。如果num小于0,则输出"num小于0"。

需要注意的是,如果嵌套的if语句过多,会导致代码难以理解和维护。因此,应该尽量避免过度嵌套if语句,而是通过使用更加简洁的逻辑控制语句来实现复杂的逻辑控制。

(五)条件判断语句补充

1. 三元运算符

三元运算符是一种简单而强大的条件判断语句,它可以根据条件的不同,返回不同的值。
三元运算符由三个部分组成:条件表达式、条件成立时的返回值、条件不成立时的返回值。通常使用冒号(:)作为分隔符。
以下是一个示例代码:

x = 5
y = 20
z = x if x > 10 else y
print(z)

在这个示例中,首先定义了三个变量x、y、z,分别表示5、20、x的值。然后使用三元运算符来计算z的值。如果x大于10,则z等于x的值,否则z等于y的值。最后输出z的值。

需要注意的是,三元运算符的返回值是根据条件表达式的结果来确定的,因此需要保证条件表达式的正确性。同时,三元运算符的语法较为简洁,但是容易被误解,因此在实际编程中应该谨慎使用。

二、循环控制语句

在Python编程中,循环控制语句用于重复执行一段代码,无论是遍历列表、字典、集合,还是实现条件判断,都需要用到循环控制语句。常见的循环控制语句有for循环、while循环以及嵌套循环。

(一)for循环

for循环是Python中最常用的循环控制语句之一,用于遍历可迭代对象,例如列表、元组、字典等。其语法如下:

for 变量 in 可迭代对象:  
    代码块

以下是一个简单的示例,展示如何使用for循环遍历列表并打印每个元素:

fruits = ["apple", "banana", "cherry"]  
for fruit in fruits:  
    print(fruit)

输出结果:

apple  
banana  
cherry

(二)while循环

while循环是另一种常用的循环控制语句,它会在条件满足的情况下一直重复执行代码块。其语法如下:

while 条件:  
    代码块

以下是一个示例,展示如何使用while循环实现一个简单的计数器:

count = 0  
while count < 5:  
    print(count)  
    count += 1

输出结果:

0  
1  
2  
3  
4

(三)嵌套循环

嵌套循环是指在一个循环中嵌套另一个循环,用于处理多维数据或复杂的逻辑结构。
例如,在嵌套循环中遍历二维列表或字典。以下是一个示例,展示如何使用嵌套循环遍历一个二维列表并打印每个元素:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]  
for row in matrix:  
    for element in row:  
        print(element, end=' ')  
    print()  

输出结果:

1 2 3 
4 5 6 
7 8 9 

通过上述示例,我们可以看到Python中的循环控制语句具有丰富的功能和灵活性。无论是for循环、while循环还是嵌套循环,它们都是Python编程中不可或缺的部分。掌握好这些循环控制语句,能够帮助我们更有效地处理数据和解决问题。

(四)break和continue语句

break语句用于跳出当前循环,不再执行后续的循环。示例如下:

for i in range(10):
    if i == 5:
        break
    print("i的值为:", i)

输出结果:

i的值为: 0
i的值为: 1
i的值为: 2
i的值为: 3
i的值为: 4

continue语句用于跳过当前循环的剩余部分,直接进入下一次循环。示例如下:

for i in range(10):
    if i % 2 == 0:
        continue
    print("i的值为:", i)

输出结果:

i的值为: 1
i的值为: 3
i的值为: 5
i的值为: 7
i的值为: 9

注意:

  1. 在Python中,break和continue只能用于循环语句中。
  2. break和continue在嵌套循环中使用时,只对最内层循环有效。

(五)for…else语句

在Python中,for…else语句是一种特殊的循环控制结构。for…else语句中的else块会在循环完全执行(即没有被break语句中断)后执行。
for…else语句的语法结构如下:

for 变量 in 可迭代对象:  
    循环体  
else:  
    else:
    代码块1

其中,变量是循环变量,可迭代对象是需要遍历的序列或集合。循环体是一系列需要重复执行的代码,而代码块1则是在循环正常执行完毕后需要执行的代码。

在执行for…else语句时,首先会通过for循环遍历可迭代对象中的每一个元素,并执行循环体中的代码。如果循环没有被break语句中断,那么在循环结束后,会执行代码块1。

需要注意的是,else块并不是在所有情况下都会执行。只有在循环没有被break语句中断的情况下,else块中的代码才会被执行。如果使用了break语句中断循环,那么else块中的代码将不会被执行。

下面是一个使用for…else语句的示例:

for i in range(1, 10):  
    if i == 5:  
        break  
else:  
    print("Loop has been completed")

输出结果:


在上述示例中,当循环变量i的值等于5时,break语句会中断循环。如果循环没有被中断,即当i的值不等于5时,else块中的代码会被执行。

需要注意的是,for…else语句在Python中的使用并不常见,因为通常可以使用其他结构来实现相同的功能,例如将条件判断放在for循环的前面,或者使用while…else语句。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值