python中else可以在判断语句、循环语句和异常处理中使用。

判断语句 if ... else ...

a = 3
b = 2
if a > b:
    print("a大于b")
else:
    print("b比a大")

循环语句 for/while ... else ...

当循环中未执行break语句即循环体正常结束则执行else语句,如果循环中执行了break则不执行else语句

for循环else

for i in range(3):
    print(i)
else:
    print("循环执行完")

输出

0
1
2
循环执行完
for i in range(3):
    print(i)
    break
else:
    print('循环正常执行完')

输出

0

使用场景:质数判断

for num in range(10, 20):
    for i in range(2, num):
        if num % i == 0:
            j = num / i
            print("%d 等于 %d * %d" % (num, i, j))
            break
    else:
        print(num, '是一个质数')

输出

10 等于 2 * 5
11 是一个质数
12 等于 2 * 6
13 是一个质数
14 等于 2 * 7
15 等于 3 * 5
16 等于 2 * 8
17 是一个质数
18 等于 2 * 9
19 是一个质数

while循环

count = 0
while count < 5:
    print("%d is less than 5" % count)
    count += 1
else:
    print("%d is not less than 5" % count)

输出

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5
count = 0
while count < 5:
    print("%d is less than 5" % count)
    count = 6
    break
else:
    print("%d is not less than 5" % count)

输出

0 is less than 5

异常处理

num1 = int(input("输入一个整数:"))
num2 = int(input("输入另外一个整数:"))
print('-'*20)
try:
    print("{}/{}=".format(num1,num2),num1//num2)
except ZeroDivisionError:
    print("输入非法,ZeroDivisionError")
else:
    print("输入合法")
print("程序结束")

代码执行,当没有异常时:

输入一个整数:2
输入另外一个整数:1
----------------------------------------
2/1= 2
输入合法
程序结束

发生异常时

输入一个整数:2
输入另外一个整数:0
----------------------------------------
输入非法,ZeroDivisionError
程序结束

https://www.jb51.net/article/...


zxbylx
18 声望2 粉丝

引用和评论

0 条评论