普通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语句。
我最近喜欢青菜,你喜欢什么呢?
叔诗兴大发,今天补充一个笑话:
刚开学,全班自我介绍。
一个男生走上讲台说:
我叫尤勇,我爱下棋。
第二个女生走上讲台,羞哒哒地说:
我叫夏琪,我喜欢游泳。