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/214939.htm
|