else后面能加条件吗(else有几种写法)
作者:小K
来源:麦叔编程
各位看官,大家好。
我是K乙己,今天我要跟大家说说else的四种写法,希望大家喜欢。
第一种写法,与if搭配
name = input("请输入名字: ")
if name == "K乙己":
print("我喜欢吃茴香豆!")
else:
print("我爱学Python!")
这种写法估计学过2个小时的Python都知道这种用法,也是平时else最常见的用法。
这里的else没啥好研究的,就是一个条件判断语句,True是啥,False又是啥啥啥。
第二种写法,与for搭配没想到了吧,else还能与循环语句的for合用。上代码:
for n in range(1,101):
if n == 0:
print(n)
else:
print("我爱学python!")
执行之后:
15
30
45
60
75
90
我爱学python!
else语句在for语句结束后执行了。
嗨,反正都要执行到的,没必要再写个else语句。
刚开始我也是这么认为的,但是我试了以下代码之后:
for n in range(1,101):
if n == 0:
print('进入break')
break
else:
print("我爱学python!")
输出结果:
进入break
由此,得出结论:
❝
for与else结合的语句,只有当for循环完整的执行完,才会执行else里的语句。
如果中间有break跳出循环,则else里的语句不执行。
❞
第三种写法,与while搭配上面我们试了下,else在for循环中的用法,那么else是否也能与while组合进行使用呢?一起证实下:
n = 0 while n < 100: n =1 print(n) else: print("我爱学python!")
输出结果:
1 2 3 ... 100 我爱学python!
上面的执行输出好像和for...else...用法一样,循环执行完毕会执行else里的语句。
用代码验证猜想:
n = 0 while n < 100: n =1 print(n) if n > 10: break else: print("我爱学python!")
输出结果:
1 2 3 ... 11
猜想成果被验证,结论同for...else...用法。
第四种写法,try...except...else...这种写法,在麦叔python每天三分钟#090篇中出现过。
some_Exceptions = [ValueError, TypeError, IndexError, None] for choice in some_exceptions: try: print(f"抛出 {choice}") if choice: raise choice("出异常啦!") else: print("顺利完成,没有异常") except ValueError: print("有一个ValueError") except TypeError: print("有一个TypeError") except Exception as e: print(f"最后捕获其他异常: {e.__class__.__name__}") else: print("else里面的代码只有在没有异常的时候才执行!") finally: print("finally里的代码不管有没有异常都执行!")
有兴趣的小伙伴可以回顾下#090篇。这里我用我的代码简单说明下:
try: a = 4 b = 4 c = a / b except Exception as e: print(e) else: print("我爱学python!")
当try里语句能正常执行完(没处理异常)的情况下,else里的语句会被执行。
输出结果:
"我爱学python!"
但是如果,try里语句执行的过程报了异常,那么else里的语句就不会被执行。
try: a = 4 b = 0 c = a / b except Exception as e: print(e) else: print("我爱学python!")
输出结果:
,
division by zero
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com