python中else能够在判断语句、循环语句和异样解决中应用。
判断语句 if ... else ...
a = 3b = 2if 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("循环执行完")
输入
012循环执行完
for i in range(3): print(i) breakelse: 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 * 511 是一个质数12 等于 2 * 613 是一个质数14 等于 2 * 715 等于 3 * 516 等于 2 * 817 是一个质数18 等于 2 * 919 是一个质数
while循环
count = 0while count < 5: print("%d is less than 5" % count) count += 1else: print("%d is not less than 5" % count)
输入
0 is less than 51 is less than 52 is less than 53 is less than 54 is less than 55 is not less than 5
count = 0while count < 5: print("%d is less than 5" % count) count = 6 breakelse: 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/...