Python 基础 | 原来for循环还有个else

普通for循环

普通的for循环是这样的:

# 食堂提供了好多重口味的食物啊!
foods = ['大葱', '大蒜', '生姜', '萝卜', '青菜', '辣椒']
# 现在我来点菜
for f in foods:
  # 叔就喜欢吃青菜
  if f == '青菜':
    print('我要点青菜')
    break

问题来了,某一天食堂根本没有青菜:

# 食堂提供了好多重口味的食物啊!
foods = ['大葱', '大蒜', '生姜', '萝卜', '麻辣烫', '辣椒']
# 现在我来点菜
for f in foods:
  # 叔就喜欢吃青菜
  if f == '青菜':
    print('我要点青菜')
    break

如果没有我要的青菜,我们希望程序打印出:

今天我减肥!

如何实现这个功能呢?

聪明的你可以设置一个标记,最后根据标记来判断是否打印减肥这句话。你可以试试看。

但这不是最好的方法,最好的方法是用for..else语句。


for..else

没错,for循环也有else的用法。

大部分人不知道for..else。这位同学怀疑Python出错了,不奇怪。但因为你关注了麦叔这个系列,你就不再是大部分同学了。

用上for..else,就能完美的解决上面的问题:

# 好多重口味的食物啊!
foods = ['大葱', '大蒜', '生姜', '萝卜', '青菜', '辣椒']
for f in foods:
  # 叔就喜欢吃青菜
  if f == '青菜':
    print('我要点青菜!')
    break
else:
  print('没我喜欢的,今天我减肥!')
  • 如果for循环顺利执行完了,说明没有找到我要的食物,就执行else语句。
  • 如果for循环被break了,说明找到了,就不执行else语句。

我最近喜欢青菜,你喜欢什么呢?

叔诗兴大发,今天补充一个笑话:

刚开学,全班自我介绍。

一个男生走上讲台说:
我叫尤勇,我爱下棋。

第二个女生走上讲台,羞哒哒地说:
我叫夏琪,我喜欢游泳。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容