为什么需要在while循环中添加else结构
循环可以和else配合使用,
else下方缩进的代码指的是当循环正常结束之后要执行的代码。
强调:
循环 '正常结束',else之后要执行的代码。
非正常结束,其else中的代码是不会执行的。(如遇到break的情况)
while循环中else的基本语法:
案例:
女朋友生气了,要惩罚:连续说5遍“老婆大人,我错了”,如果道歉正常完毕后女朋友就原谅我了,这个程序怎么写?
思考:
一步步来,因为是有要求次数,那么就可以用while循环,三步走。
# ① 定义一个计数器(初始化一个计数器)
i = 0或1
# ② 编写while循环结构条件
while 循环条件(判断 计数器 是否达到了目标位置):
循环体1
循环体2
...
# ③ 在循环内部更新计数器-------------如果不更新,那么一直都是一个数,原地不动。让他们+1,可以在某个时间点,某个数值点,达到预定的地方。
i = i + 1 或 i += 1
接着看要求,如果道歉正常完毕后女朋友就原谅我了。
那不就是5遍循环结束吗,所以:加个print就行。
代码:
# 初始化计数器 i = 0 # 编写循环条件 while i < 5: print('老婆大人,我错了') # 更新计数器 i += 1 # 循环结束后,女朋友就原谅我了 print('好开森,女朋友原谅我了...')
但是,这个最后一行,print,是不符合逻辑的, 因为这个print是不是没有循环也能执行?那我们应该如何解决呢?
这个时候,可以用while...else结构
if...else...结构 else 英 /els/ adv. 此外,其他;否则,要不然 adj. 其他的,另外的 基本语法: if 条件判断: 当条件判断为True时,则执行这个语句段 else: 当条件判断为False时,则执行这个语句段
结合本文开头:
循环可以和else配合使用,
else下方缩进的代码指的是当循环 正常结束 之后要执行的代码。
强调:
循环 '正常结束',else之后要执行的代码。
非正常结束,其else中的代码是不会执行的。(如遇到break的情况)
用else,刚刚好。
代码:
# 初始化计数器 i = 0 # 编写循环条件 while i < 5: print('老婆大人,我错了') # 更新计数器 i += 1 # 循环结束后,女朋友就原谅我了 else: print('好开森,女朋友原谅我了...')
循环正常结束-----图示:
break------非正常结束 图示: