优秀的编程知识分享平台

网站首页 > 技术文章 正文

else有几种写法?(elseq)

nanyue 2024-07-18 03:47:58 技术文章 12 ℃

作者:小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%15 == 0:
        print(n)
else:
    print("我爱学python!")

执行之后:

15
30
45
60
75
90
我爱学python!

else语句在for语句结束后执行了。

嗨,反正都要执行到的,没必要再写个else语句。

刚开始我也是这么认为的,但是我试了以下代码之后:

for n in range(1,101):
    if n%15 == 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
最近发表
标签列表