2024-05-13|閱讀時間 ‧ 約 29 分鐘

Python入門-Day6:流程控制

    if, elif, else

    if, elif, else是Python中控制流程的基本結構。我們可以使用這些結構來定義一系列條件判斷,根據不同的情況執行不同的代碼塊。

    基本的if語句如下所示:

    if condition:
    # 做一些事情

    當條件為True時,if語句下的代碼塊將被執行。否則,它將被跳過,程序將繼續執行下一個語句。

    elif是if語句的一個可選部分,可以用來添加更多的條件判斷。如果第一個if語句的條件為False,程序將繼續檢查elif語句的條件。

    else是if語句的另一個可選部分,它在沒有其他條件滿足時執行。else語句在if和elif語句之後,以冒號開始,後面跟著一個代碼塊。

    以下是一個適合初學者的if, elif, else範例:

    x = 5

    if x > 10:
    print("x大於10")
    elif x > 5:
    print("x大於5,但小於等於10")
    else:
    print("x小於等於5")

    在這個例子中,我們定義了一個變量x,然後使用if,elif和else語句來判斷它的值。如果x大於10,則打印“x大於10”。如果x大於5但小於等於10,則打印“x大於5,但小於等於10”。否則,即x小於等於5,則打印“x小於等於5”。

    三元運算子

    三元運算子是Python中的一種簡短的if語句,可以在一行中執行條件判斷。

    基本的三元運算子如下所示:

    value_if_true if condition else value_if_false

    在這個例子中,如果條件為True,則返回value_if_true。否則,返回value_if_false。

    x = 5

    value = "x大於等於10" if x >= 10 else "x小於10"

    print(value)

    在這個例子中,我們定義了一個變量x,然後使用三元運算子來檢查它是否大於等於10。如果是,則返回“x大於等於10”。否則,返回“x小於10”。最後,我們使用print函數打印value的值。

    當你運行這段程式碼時,你將只會得到以下輸出:

    x小於10

    這是因為x的值是5,因此三元運算子返回“x小於10”。

    for 迴圈

    for循環是Python中另一種基本的控制流程結構,它用於迭代訪問序列中的所有項目。這些項目可以是列表、元組、字典等。

    基本的for循環如下所示:

    for item in sequence:
    # 做一些事情

    在這個例子中,我們使用for循環來遍歷序列中的所有項目。在每次迭代中,item變量將被設置為序列中的下一個項目。然後,for語句下的代碼塊將被執行。

    numbers = [1, 2, 3, 4, 5]

    for number in numbers:
    print(number)

    在這個例子中,我們定義了一個列表numbers,然後使用for循環來遍歷它的所有項目。在每次迭代中,number變量將被設置為列表中的下一個數字。然後,我們使用print函數打印number的值。

    進階範例

    lists = ["apple", 1, "banana"]

    # 寫法一
    for list in lists:
    print(list)

    # 寫法二
    for i in range(len(lists)):
    print(lists[i])

    # 反轉
    for i in range(len(lists)-1,-1,-1):
    print(lists[i])

    while 迴圈

    while循環是Python中的另一種迭代結構,它可以在滿足特定條件時重複執行一段代碼。while循環的基本結構如下所示:

    while condition:
    # 做一些事情

    在這個例子中,當條件為True時,while循環下的代碼塊將被重複執行。否則,它將被跳過,程序將繼續執行下一個語句。

    count = 0

    while count < 5:
    print(count)
    count += 1

    在這個例子中,我們定義了一個變量count並將其初始化為0。然後,我們使用while循環來檢查count的值是否小於5。如果是,則我們打印count的值並將其增加1。然後,while循環將再次執行,直到count的值大於或等於5為止。

    循環嵌套

    循環嵌套是一種常見的程式設計技巧,可以用來處理複雜的問題。在Python中,我們可以使用for循環和while循環來進行循環嵌套。

    for i in range(1, 4):
    for j in range(1, 4):
    print(i, j)

    在這個例子中,我們使用兩個for循環來遍歷所有的(i, j)組合,其中i的值從1到3,j的值也從1到3。在每次迭代中,i和j變量將被設置為相應的值,然後我們使用print函數打印它們的值。

    當你運行這段程式碼時,你將會得到以下輸出:

    1 1
    1 2
    1 3
    2 1
    2 2
    2 3
    3 1
    3 2
    3 3

    在這個例子中,我們使用兩個for循環來遍歷所有的(i, j)組合,其中i的值從1到3,j的值也從1到3。在每次迭代中,i和j變量將被設置為相應的值,然後我們使用print函數打印它們的值。

    你可以看到,這個程式碼產生了9個(i, j)組合,每個組合都是由一個i值和一個j值組成的。

    控制迴圈語句

    控制迴圈語句是Python中的一種特殊語句,它們可以用來控制循環的行為。Python中有三種控制迴圈語句:break、continue和pass。

    break

    break語句可以用來中斷循環,即使循環的條件還沒有變成False。這在某些情況下非常有用,例如當你需要在找到特定條件的元素後立即退出循環時。

    numbers = [1, 2, 3, 4, 5]

    for number in numbers:
    if number == 3:
    break
    print(number)

    在這個例子中,我們定義了一個列表numbers,然後使用for循環來遍歷它的所有項目。在每次迭代中,number變量將被設置為列表中的下一個數字。然後,我們使用if語句來檢查number的值是否等於3。如果是,我們使用break語句來中斷循環。否則,我們使用print函數打印number的值。

    當你運行這段程式碼時,你將只會得到以下輸出:

    1
    2

    這是因為當number的值等於3時,break語句中斷了循環,並且print語句沒有被執行。

    continue

    continue語句可以用來跳過當前迭代中的一些項目,並繼續進行下一次迭代。這在某些情況下非常有用,例如當你需要跳過某些特定條件的元素時。

    numbers = [1, 2, 3, 4, 5]

    for number in numbers:
    if number == 3:
    continue
    print(number)

    在這個例子中,我們定義了一個列表numbers,然後使用for循環來遍歷它的所有項目。在每次迭代中,number變量將被設置為列表中的下一個數字。然後,我們使用if語句來檢查number的值是否等於3。如果是,我們使用continue語句跳過當前迭代。否則,我們使用print函數打印number的值。

    當你運行這段程式碼時,你將得到以下輸出:

    1
    2
    4
    5

    這是因為當number的值等於3時,continue語句跳過了當前迭代,並且print語句沒有被執行。

    pass

    pass語句是一種空語句,它不執行任何操作。它通常用於當你需要定義一個函數或類,但是還沒有想好實現細節時。

    def my_function():
    pass

    在這個例子中,我們定義了一個名為my_function的函數,但是我們沒有在函數體中添加任何代碼。相反,我們使用pass語句來告訴Python跳過這個函數。

    進階範例:

    cmd line的互動功能視窗

    import os
    while True:
    cmdNoContent = '''
    1. Exit
    2. Continue
    3. Pass
    4. Hello World!
    '''
    print(cmdNoContent)
    cmdNo = input("Enter a command number: ")
    if cmdNo == "1":
    break
    elif cmdNo == "2":
    continue
    elif cmdNo == "3":
    pass
    elif cmdNo == "4":
    print("Hello World!")
    else:
    print("請繼續輸入...")
    input("Press any key to continue...")
    # Windows清空螢幕
    os.system("cls")
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.