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循環是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循環是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語句可以用來中斷循環,即使循環的條件還沒有變成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語句可以用來跳過當前迭代中的一些項目,並繼續進行下一次迭代。這在某些情況下非常有用,例如當你需要跳過某些特定條件的元素時。
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語句是一種空語句,它不執行任何操作。它通常用於當你需要定義一個函數或類,但是還沒有想好實現細節時。
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")