杨桃的Python进阶讲座14——循环(二)循环和判断条件的组合使用

本文详细讲解了Python中for循环与判断条件结合使用时,如何搭配else、break、return、continue、pass关键字。通过实例演示了这些关键字在循环中的作用,如else语句在遍历完成后执行,break跳出整个循环,return退出函数,continue跳过当前迭代,pass不执行任何操作。并总结了它们在循环控制中的应用场景。

本人CSDN博客专栏:https://blog.csdn.net/yty_7

Github地址:https://github.com/yot777/

 

概述

Python循环和判断条件的组合使用中,可以加入else、break、return、continue、pass关键字,作用如下:

1、else语句

如果在穷尽列表后(以for循环)或条件变为假(以while循环)循环终止时被执行

2、break语句

用来跳出for和while的整个循环体。一旦跳出,循环中任何剩下的程序块(包括else)将不执行。

3、return语句

用来跳出for和while的整个循环体以及包含这个循环体的整个函数。

4、continue语句

用来跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

5、pass语句

继续当前循环,相当于没有任何作用
 

for循环和break组合

假设某先生在餐厅用餐,他非常讨厌芥末,但是上餐的菜品他事先不知情,于是我们可以写以下程序:

def func():
  foods = ["薯片","炸鸡","牛排","芥末","浓汤"]
  for item in foods:
    if item == "芥末":   
      print("我不喜欢吃芥末,用餐结束!")
      break
    else:
      print("我喜欢吃"+str(item)+",请继续!")
  else:
    print("太棒了,没有我不喜欢吃的菜!")
  print("终于,我吃完了。")

if __name__ == '__main__':
  func()
  print("结束用餐函数!")

运行结果:
我喜欢吃薯片,请继续!
我喜欢吃炸鸡,请继续!
我喜欢吃牛排,请继续!
我不喜欢吃芥末,用餐结束!
终于,我吃完了。
结束用餐函数!

讲解:Python程序如果遇到if __name__ == '__main__': 将首先执行提示符之下的语句

通过func()函数中的for item in foods:遍历foods列表,判断条件是if item == "芥末"

当遍历到"薯片","炸鸡","牛排"的时候,if条件的结果是FALSE,因此执行输出:"我喜欢吃某某,请继续!"

当遍历到"芥末"的时候,if条件的结果是TRUE,因此执行输出:"我不喜欢吃芥末,用餐结束!"

紧跟着break关键字,于是跳出整个循环,没有遍历"浓汤"。

func()函数最后输出:"终于,我吃完了。"

在调用完成func()函数之后,还要输出"结束用餐函数!"

 

如果该先生的菜单里没有"芥末",如下:

def func():
  foods = ["薯片","炸鸡","牛排","浓汤"]
  for item in foods:
    if item == "芥末":   
      print("我不喜欢吃芥末,用餐结束!")
      break
    else:
      print("我喜欢吃"+str(item)+",请继续!")
  else:
    print("太棒了,没有我不喜欢吃的菜!")
  print("终于,我吃完了。")

if __name__ == '__main__':
  func()
  print("结束用餐函数!")

运行结果:
我喜欢吃薯片,请继续!
我喜欢吃炸鸡,请继续!
我喜欢吃牛排,请继续!
我喜欢吃浓汤,请继续!
太棒了,没有我不喜欢吃的菜!
终于,我吃完了。
结束用餐函数!

在foods列表中没有遍历到"芥末",因此执行for循环的else语句,输出"太棒了,没有我不喜欢吃的菜!"

for...else是Python循环的特色语法,表示在遍历完成且没有被break的时候,需要执行的语句。

 

for循环和return组合

基本情况同上,但是我们把break关键字换成returen,如下:

def func():
  foods = ["薯片","炸鸡","牛排","芥末","浓汤"]
  for item in foods:
    if item == "芥末":   
      print("我不喜欢吃芥末,用餐结束!")
      return
    else:
      print("我喜欢吃"+str(item)+",请继续!")
  else:
    print("太棒了,没有我不喜欢吃的菜!")
  print("终于,我吃完了。")

if __name__ == '__main__':
  func()
  print("结束用餐函数!")

运行结果:
我喜欢吃薯片,请继续!
我喜欢吃炸鸡,请继续!
我喜欢吃牛排,请继续!
我不喜欢吃芥末,用餐结束!
结束用餐函数!

讲解:Python程序如果遇到if __name__ == '__main__': 将首先执行提示符之下的语句

通过func()函数中的for item in foods:遍历foods列表,判断条件是if item == "芥末"

当遍历到"薯片","炸鸡","牛排"的时候,if条件的结果是FALSE,因此执行输出:"我喜欢吃某某,请继续!"

当遍历到"芥末"的时候,if条件的结果是TRUE,因此执行输出:"我不喜欢吃芥末,用餐结束!"

紧跟着return关键字,于是不仅跳出整个循环,而且跳出整个函数,不仅没有遍历"浓汤",连函数中的其他语句"终于,我吃完了。"也不执行。

最后只输出整个Python程序的结束语句"结束用餐函数!"

请注意:for循环中应用return的时候,一定要将该循环放在一个函数体中,否则会报错。

for循环和continue组合

基本情况同上,但是我们把break关键字换成continue,如下:

def func():
  foods = ["薯片","炸鸡","牛排","芥末","浓汤"]
  for item in foods:
    if item == "芥末":   
      print("我不喜欢吃芥末,用餐结束!")
      continue
    else:
      print("我喜欢吃"+str(item)+",请继续!")
  else:
    print("太棒了,没有我不喜欢吃的菜!")
  print("终于,我吃完了。")

if __name__ == '__main__':
  func()
  print("结束用餐函数!")

运行结果:
我喜欢吃薯片,请继续!
我喜欢吃炸鸡,请继续!
我喜欢吃牛排,请继续!
我不喜欢吃芥末,用餐结束!
我喜欢吃浓汤,请继续!
太棒了,没有我不喜欢吃的菜!
终于,我吃完了。
结束用餐函数!

item遍历foods列表,判断条件是if item == "芥末"

当遍历到"薯片","炸鸡","牛排"的时候,if条件的结果是FALSE,因此执行输出:"我喜欢吃某某,请继续!"

当遍历到"芥末"的时候,if条件的结果是TRUE,因此执行输出:"我不喜欢吃芥末,用餐结束!"

紧跟着continue关键字,跳出当前遍历,继续进行下一次遍历"浓汤",输出:"我喜欢吃浓汤,请继续!"

由于"浓汤"是遍历的最后一个元素,这样也达成了遍历完成且没有被break这个条件,仍然输出"太棒了,没有我不喜欢吃的菜!"

for循环和pass组合

我们把continue关键字换成pass,如下:

def func():
  foods = ["薯片","炸鸡","牛排","芥末","浓汤"]
  for item in foods:
    if item == "芥末":   
      print("我不喜欢吃芥末,用餐结束!")
      pass
    else:
      print("我喜欢吃"+str(item)+",请继续!")
  else:
    print("太棒了,没有我不喜欢吃的菜!")
  print("终于,我吃完了。")

if __name__ == '__main__':
  func()
  print("结束用餐函数!")

运行结果:
我喜欢吃薯片,请继续!
我喜欢吃炸鸡,请继续!
我喜欢吃牛排,请继续!
我不喜欢吃芥末,用餐结束!
我喜欢吃浓汤,请继续!
太棒了,没有我不喜欢吃的菜!
终于,我吃完了。
结束用餐函数!

pass语句可以理解为占位符,本身无意义,不影响任何程序的执行,因此

遍历到"芥末"的时候,if条件的结果是TRUE,因此执行输出:"我不喜欢吃芥末,用餐结束!"

继续进行下一次遍历"浓汤",输出:"我喜欢吃浓汤,请继续!"

由于"浓汤"是遍历的最后一个元素,这样也达成了遍历完成且没有被break这个条件,仍然输出"太棒了,没有我不喜欢吃的菜!"

总结

Python循环和判断条件的组合使用中,可以加入else、break、return、continue、pass关键字。

for...else是Python循环的特色语法,表示在遍历完成且没有被break的时候,需要执行的语句。

break关键字的作用是跳出整个循环

return关键字的作用是不仅跳出整个循环,而且跳出整个函数,一定要将该循环放在一个函数体中,否则会报错。

continue关键字的作用是跳出当前遍历,继续进行下一次遍历。

pass关键字本身无意义,不影响任何程序的执行。

 

本人CSDN博客专栏:https://blog.csdn.net/yty_7

Github地址:https://github.com/yot777/

如果您觉得本篇本章对您有所帮助,欢迎关注、评论、点赞!Github欢迎您的Follow、Star!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值