17.丰富的else语句和简洁的with语句
生活随笔
收集整理的這篇文章主要介紹了
17.丰富的else语句和简洁的with语句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
豐富的else語句
要么怎樣,要么不怎樣:if...else... 干完了能怎樣,干不完就別想怎樣 沒有問題,那就干吧一、要么怎樣,要么不怎樣
常見的if...else...語法=====
二、干完了能怎樣,干不完就別想怎樣
例1:while與else之間的break
判斷一個數是素數還是合數,如果是合數,則求出 合數的最大約數。 自己求解: def func(num):k = num //2 #板除,結果肯定是整數if(k<1): #如果k是1,2,3,那么肯定是素數,否則進入下面的判斷print '%d是素數' % numelse:while(k != 1):if(num % k == 0):print '%d是合數,它的最大約數是%d' % (num,k)breakk = k - 1else:print '%d是素數' % num>>> func(3) 3是素數 >>> func(30) 30是合數,它的最大約數是15正規求解: def func(num):k = num // 2while( k > 1 ):if num % k == 0:print ('%d是合數,它的最大約數是:%d' % (num,k))breakelse:k -= 1else:print ('%d是素數' % num)>>> func(2) 2是素數 >>> func(30) 30是合數,它的最大約數是:15【重點解釋:嶄新的知識點】 如果while中,break執行,則不執行else語句中的內容; 如果while循環正常退出,則執行else語句中的內容。break跳出范圍是while循環,連帶while...else...語句一并跳出。 因此break跳出后,不會執行else語句中的內容。例1:for與else之間的break
【注解】for...else...與while...else...用法和含義完全相同===
三、沒有問題,那就干吧
說明:與第二種形式類似,它是與try語句進行搭配的, 即只要try語句中沒有發生異常,就會執行else語句中的內容。例1: def f1():try:int('show') #把字符串強制轉為int,會發生ValueError 異常except ValueError as reason:print('出錯了:'+str(reason))else:print('沒有任何異常')>>> f1() 出錯了:invalid literal for int() with base 10: 'show' 【注解】在try語句中,如果發生異常,就不會執行try...else... 后面的else語句中的內容。例2: def ff():try:print('show') #直接打印字符串,不會發生異常except ValueError as reason:print('出錯了:'+str(reason))else:print('沒有任何異常')>>> ff() show 沒有任何異常 【注解】在try語句中,如果不發生異常,就會執行try...else... 后面的else語句中的內容。+++++++++++++++
+++++++++++++++
+++++++++++++++
+++++++++++++++
簡潔的with語句:用于文件操作
http://www.cnblogs.com/ymjyqsx/p/6554817.html
方法一:以前的學習我們常用的文件打開方式 try:f = open('', '')print(f.read()) finally:if f:f.close()【注解】上面的形式太繁瑣,不但有try異常處理機制,還有 f.close()語句。因此我們引出下面的語法方法二: with open('','') as f:print(f.read())這和前面的try ... finally是一樣的,但是代碼更佳簡潔,并且不必調用f.close()方法。總結
以上是生活随笔為你收集整理的17.丰富的else语句和简洁的with语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.VMware安装3个ubuntu14
- 下一篇: 18.图像用户界面入门:EasyGui