python基礎之流程控制-day4

youlansijin發表於2020-09-26

記錄學習的點點滴滴-150天從Python小白到大神的轉變–day4

今天是正式學習Python的第四天,漸漸懂得了程式設計思想以及邏輯思維的重要性。邏輯思維是幫助我怎麼解決問題,程式設計思想是幫助我如何把解決問題的方法轉化為程式。第三天和第四天遇到的知識點同時也是難點包括流程控制中的分支結構和迴圈結構。下面跟著我畫的思維導圖一起來回顧一下這兩天的知識點吧!

  • 思維導圖

    第三天和第四天包含的內容:運算子,以及流程控制中的IF分支結構和迴圈結構。
    在這裡插入圖片描述

  • 流程控制之IF分支結構

  1. IF分支結構適用場景

    當某段程式碼需要滿足一定條件才執行時可以選擇IF語句來實現

  2. IF分支結構型別

    1. IF單分支結構 —滿足條件就執行相應程式碼,不滿足條件就不執行

    語法:

    if 條件語句:

    ​ 程式碼塊

    說明: 當條件語句成立時,即當條件語句執行的結果為True時,就執行某個操作(程式碼塊),不滿足就不執行某個操作(程式碼塊)

    # 練習:輸入一個整數,如果是偶數就列印"這個數能夠被2整除"
    num1 = int(input('請輸入一個整數')) 
    if num & 1 == 0    # == 比較運算子
    	print(num1, '這個數能夠被2整除')
    
    1. IF雙分支結構 —滿足條件就執行某一種操作,不滿足條件就執行另外一個操作

    語法:

    if 條件語句:

    程式碼塊1 (條件語句的結果為True時需要執行的程式碼)

    else:

    ​ 程式碼塊2 (條件語句的結果為False時需要執行的程式碼)

    # 練習:輸入年份,根據年份值列印 '閏年' 或者 '非閏年'(PS:閏年:能被4整除但是不能被100整除,或者能被400整除的年份)
    year = int(input('請隨便輸入一個年份'))
    if (year % 4 == 0 and  year % 100 != 0) or year % 400 == 0
    	print(year, '閏年')
    else:
        print(year, '非閏年')
    
    1. IF多分支結構 —需要多條件判斷時,根據不同的條件執行不同的操作

    語法:

    ​ if 條件語句1:

    ​ 程式碼塊1

    ​ elif 條件語句2:

    ​ 程式碼塊2

    ​ elif 條件語句3:

    ​ 程式碼塊3

    ​ …

    ​ else:

    ​ 程式碼塊n

    執行過程:

    ​ 先判斷條件語句1的結果是否為True,如果為True,則執行程式碼塊1,整個IF語句結束。

    ​ 如果條件語句1的結果為False, 則繼續判斷條件2是否成立(結果是否為True),為True,則執行程式碼塊2,整個IF語句結束。以此類推,當以上所有條件都不成立,就執行else後面的程式碼塊n

    # 練習:輸入學生的績點,判斷該學生能獲取獎學金的等級
    #  一等:績點 > 4
    # 二等:3.5 <= 績點 <= 4
    # 三等:3 <= 績點 < 3.5
    # 四等:2.5 <= 績點 < 3
    # 沒有:績點 < 2.5    
    gpa = input(float('請輸入您的績點:'))
    if gpa > 4:
      print('拿一等獎學金')
    elif gpa >= 3.5:
     print('拿二等獎學金')
    elif gpa >= 3:
     print('拿三等獎學金')
    elif gpa >=2.5:
     print('拿四等獎學金')
    else:
    print('沒有獎學金')
    
    • 流程控制之迴圈控制

    在Python中迴圈控制語句有兩種,一種是for迴圈,一種是while迴圈。

    1. 迴圈語句的應用場景

    ​ 當程式中某段程式碼需要重複多次執行時,就需要用迴圈語句來實現。

    1. for迴圈基礎知識

    ​ a. for迴圈

    語法:

    ​ for 變數 in 序列

    ​ 迴圈體

    說明:

    ​ 序列: 除賦值語句之外的任何有結果的表示式。包括字串,列表,元組,集合,字典,數學表示式以及函式
    呼叫表示式子,生成器,迭代器等

    執行過程:

    ​ 變數在序列中取值,一個一個的取值,直到取完序列中所有的值;每取一次,執行一次迴圈體

    ​ b. range函式

    ​ 為了for迴圈能更好的控制迴圈次數,通常採用range函式控制取值的範圍。

    ​ 1) range(N) – 產生一個0~~N-1的數字序列(N必須是正整數)

    ​ 2) range(M,N) – 產生一個M~~N-1的數字序列(M,N必須是整數,且N>M)

    ​ 3) range(M,N,step) – 每次在產生下一個數的時候,增加步長,直到取到N前面一個數

    練習:數字1,2,3,4能組成多少個互不相同且無重複數字的三位數,這些數分別是哪些
     count1 = 0
     for bai in range(1, 5):
         for shi in range(1, 5):
             for ge in range(1, 5):
                 if bai != shi != ge:
                     print(bai, shi, ge, sep='')
                     count1 += 1
     print(count1)
    
    1. while迴圈基礎知識

    ​ a. while迴圈

    語法:

    ​ while 條件語句:

    ​ 迴圈體

    說明:

    ​ 條件語句: 除賦值語句之外的任何有結果的表示式

    執行過程:

    ​ 首先判斷條件語句的結果是否為True,如果為True就執行迴圈體,然後繼續判斷條件語句的結果是否為
    True,如果為True就繼續執行迴圈體,依次類推,直到條件語句的執行結果為False,整個迴圈就結束

    ​ b. while迴圈控制迴圈次數的方法

    ​ 思路:

    ​ 當某次迴圈的結果使得條件不成立時,整個迴圈就結束。

    ​ 程式碼:

    ​ 變數 = 0

    ​ while 變數 < 次數:

    ​ 迴圈體(需要迴圈執行的程式碼)

    ​ 變數 += 1

    ​ c. while迴圈固定套路

    ​ 套路:

    ​ while True:

    ​ 需要不斷執行的操作

    ​ if 結束迴圈的條件:

    ​ break

       # 練習:寫程式實現不斷輸入資料,直到輸入的內容為0時停止
        while True:
            value = input('請您隨便輸入內容')
            if value == '0':
                break
    
    1. for迴圈和while迴圈的具體應用場景

    ​ a. for迴圈應用場景 — 遍歷序列,迴圈次數確定

    ​ b. while迴圈應用場景 —實現死迴圈,迴圈次數不確定

    1. 迴圈中的關鍵字continue和break

    continue和break兩個關鍵字只能用在迴圈體當中

    ​ a. continue – 在執行迴圈體的時候遇到continue結束當次迴圈(即:continue之後的程式碼不會執行),

    ​ 進入下一次迴圈 (也就是說continue是結束一次迴圈)

    ​ b. break – 在執行迴圈體的時候遇到break結束整個迴圈

    for x in range(2):
        print('=======')
        continue
        print('+++++++')    # 只會列印出兩個=======,沒有+++++++
        
    for y in range(2):
        print('上課了')
        break               # 只會列印出一個上課了
    
    1. else關鍵字 --for迴圈和while迴圈的完整結構

    迴圈中的關鍵字else,只有在迴圈自然死亡時,程式才會執行else後面的語句塊(注意區別IF語句中的else) ;如果迴圈是因為遇到break而導致結束的,else後面的語句不會實現

    ​ a. for迴圈完整結構

    ​ 語法:

    ​ for 變數 in 序列

    ​ 迴圈體

    ​ else:

    ​ 程式碼塊

    ​ b. while迴圈

    ​ 語法:

    ​ while 條件語句:

    ​ 迴圈體

    ​ else:

    ​ 程式碼塊

    結束語:

    好啦,以上內容就是第三天和第四天學習的內容啦! 掌握知識只是第一步,更重要的是知識運用!我要去做題啦! 我們們明天見啦!

相關文章