欢迎访问Python每天3分钟系列。

每天早上8点半,花3分钟时间,学习或温习一个Python知识点。

图片

今天是第012篇:

for .. else

有个粉丝真大胆,微信上跟我说Python解释器有错,你看看:

图片

他勇于怀疑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语句。

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

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

刚开学,全班自我介绍。

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

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

后记

这个系列更新了12天了,非常感谢大家的支持![抱拳]

我也自我感觉不错:

  • 因为每天讲的东西少,所以我总能抽出时间写,不容易断更。
  • 因为每天讲的东西少,所以想看的粉丝总能抽出时间来学习,3分钟嘛!
  • 另外,发广告的时候,心里对粉丝是有愧疚感!这样至少每天有一点干货,可以抚慰一下自己的愧疚感。

这个系列第一次向小伙伴们发起倡导:

如果喜欢本系列,请转发给你的朋友、同学吧。一起来每天3分钟,每天进步!谢谢你!

声明:本网站资源来源于网络收集,如有侵权,请联系站长进行删除处理。 分享目的仅供大家学习和交流,请不要用于商业用途,否则后果自负。本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解。本站资源售价只是赞助,收取费用仅维持本站的日常运营所需。反馈邮箱:1159995880@qq.com