Python学习--Task09:else与with语句

mac2024-03-10  24

else语句

if-elsewhile-else def ShowMaxFactor(num): count=num//2 while count>1: if num % count ==0: print("%d最大的约数%d" % (num,count)) break count-=1 else: print("%d是素数!" % num) num = int(input("请输入一个数:")) ShowMaxFactor(num)

注:

如果循环里的内容全部执行,没有中途跳出,则会执行else的内容。 (当输入为11时,count=5>1,num%count=1,即不执行 if 的内容,count减1,执行else。)如果中途用break跳出,else的内容不会被执行。 (当输入为8时,count=4>1,num%count=0,执行 if 的内容,当执行到break时,跳出while循环,else部分也不执行。)for-else与while-else类似。 try-else try: int("abc") except ValueError as reason: print("出错了:"+str(reason)) else: print("没有异常")

注:try后没有错误执行else,有错则不执行。

with语句

try: f=open('data.txt','w') for each_line in f: print(each_line) except OSError as reason: print('出错了'+str(reason)) finally: f.close()

用with语句简化:

try: with open('data.txt','w') as f: for each_line in f: print(each_line) except OSError as reason: print('出错了'+str(reason))

参考文献

https://www.bilibili.com/video/av4050443/?p=35

最新回复(0)