1.else语句
语法格式:
while <判断语句>:
<执行代码>
else:
<执行代码>
count = 0
while count < 5:
print("%d is less than 5" % count)
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
2.for … else 语句
for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
for num in range(10, 20): # 迭代 10 到 20 之间的数字
for i in range(2, num): # 根据因子迭代
if num % i == 0: # 确定第一个因子
j = num / i # 计算第二个因子
print('%d 等于 %d * %d' % (num, i, j))
break # 跳出当前循环
else: # 循环的 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 是一个质数
3.try …. except … else 语句
如果在 try 子句执行时没有发生异常,Python将执行 else 语句后的语句(如果有 else 的话),然后控制流通过整个 try 语句。
语法格式:
try:
<被检测的程序代码>
expect<异常类型>:
<异常处理的程序代码>
else:
<正常处理的程序代码>
# author:answer time:2019/10/30
try:
x=int(input('请输入数据1:'))
y=int(input('请输入数据2:'))
z=x/y
except ValueError:
print('应全部输入数据值')
except ZeroDivisionError:
print("除数不能为零")
except NameError:
print('变量不存在')
else:
print("最终结果为:",z)
4. 简洁的 with 语句
一些对象定义了标准的清理行为,无论系统是否成功的使用了它,一旦不需要它了,那么这个标准的清理行为就会执行。
关键词 with 语句就可以保证诸如文件之类的对象在使用完之后一定会正确的执行它的清理方法。
try:
<被检测的程序代码>
expect<异常类型>:
<异常处理的程序代码>
finally:
<正常处理的程序代码>
try:
x=int(input('请输入数据1:'))
y=int(input('请输入数据2:'))
z=x/y
except ValueError:
print('应全部输入数据值')
except ZeroDivisionError:
print("除数不能为零")
except NameError:
print('变量不存在')
else:
print("最终结果为:",z)
finally:
print("END")