Python基础学习——else和 with语句

mac2024-07-17  54


Day.12


1.else语句 while…else…语句

n = 0 jc = 1 k = 123 while (jc > k) ==0: print('%d的阶乘不大于%d'%(n,k)) n = n+1 jc = jc*n else: print('%d的阶乘刚好大于%d'%(n,k)) 0的阶乘不大于123 1的阶乘不大于123 2的阶乘不大于123 3的阶乘不大于123 4的阶乘不大于123 5的阶乘不大于123 6的阶乘刚好大于123

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 是一个质数

try…except…else语句 try: 正常的操作 … except: 发生异常,执行这块代码 … else: 如果没有异常执行这块代码

try: fh = open("testfile", "w") fh.write("这是一个测试文件,用于测试异常!!") except IOError: print("Error: 没有找到文件或读取文件失败") else: print("内容写入文件成功") fh.close() # 内容写入文件成功

2.with语句 关键词 with 语句可以保证诸如文件之类的对象在使用完之后一定会正确的执行它的清理方法。

try: with open('myfile.txt', 'w') as f: for line in f: print(line) except OSError as error: print('出错啦!%s' % str(error)) # 出错啦!not readable

这段代码执行完毕后,就算在处理过程中出问题了,文件 f 总是会关闭。

最新回复(0)