蟒蛇開關

| | | | | |

與 Java 或 C# 不同,Python 沒有內置的 switch 語句。這意味著您必須編寫自己的代碼來模擬語句“switch ... case”,才能評估 switch 表達式。

在本指南中,我們將討論如何編寫“switch . .. case”在 Python 中,並遵循兩個偽造 switch 語句的示例,以便您可以學習如何在代碼中編寫一個。

Switch 語句:更新

switch 語句允許您選擇一系列代碼塊中的一個來執行。它們是在程序中評估多個表達式的一種方式。

switch 語句通過評估 switch 語句並將該指令的結果與指令“box”的值進行比較來工作。如果找到匹配項,則執行相應的代碼塊。否則,什麼都不會發生。

可選地,如果沒有找到與特定表達式匹配的語句,則使用“默認”關鍵字執行代碼塊。

Python Switch語句:返回單個值 ‚Äã‚Äã

讓我們編寫一個程序,將數值轉換為星期幾。

首先,要求用戶輸入一個數字,他們想將其轉換為寫出的日期:

我們將用戶在程序中輸入的值轉換為整數。我們將在本教程的後面部分了解為什麼這是必要的。

然後 定義一個字典 。這本詞典將包含一周中的所有日子。每個鍵將一天存儲為一個數字,每個值將存儲一個書面日期(例如星期二):

我們的字典中有七個鍵和值,Äã,Äã。 “1”鍵代表“星期一”,以此類推,直到一周的最後一天。

接下來,我們使用字典方法get()< /a> 訪問與輸入用戶的值相對應的字典元素:

我們已經將用戶在我們的程序中輸入的值轉換為整數,以便我們可以在 get () 中使用它。如果沒有與“convert_to_day”存儲的值相等的鍵,我們的代碼將返回“此數值沒有日期”。

如果用戶輸入值“1”,我們的代碼將評估:

即使用戶輸入了無效值,我們的代碼也能正常工作。

Python 切換指令:調用函數

我們可以使用這種語法來< a href="/python-functions/"> 在我們的代碼中調用函數。我們將創建一個顯示三明治店購物清單信息的應用程序。

首先,讓我們定義一個購物清單:

接下來定義三個函數。這些函數會計算:

我們定義了這些函數:

現在我們已經定義了這些函數,讓我們開始編寫我們的假開關聲明。正如我們在第一個示例中所做的那樣,讓我們首先要求用戶輸入一個值。用戶輸入的值必須與我們的函數之一相對應。

我們的代碼打印三個消息。每個通知用戶他可以採取的選項。然後我們的代碼要求用戶輸入一個值。讓我們將此值轉換為數字,以便稍後在程序中使用它。

接下來,定義一個將我們的函數與數字相關聯的字典:

值“1”映射到名為“number_of_purchases”的函數,值“2”映射到函數“avg_value”和“值” 3" 映射到 "largest_buy" 函數。

接下來,使用 get () 方法選擇應該運行我們的程序的函數:

這段代碼從字典中獲取我們想要運行的函數。我們沒有在 get () 方法中指定第二個值,因為我們需要調用一個函數才能讓我們的代碼工作。這意味著如果用戶輸入無效值,我們的代碼將返回錯誤。有一些方法可以處理這種行為,但這超出了本教程的範圍。

讓我們運行我們的代碼:

我們從列表中選擇了選項 3。我們的代碼成功打印了一天中最大的購買量。讓我們嘗試選擇選項 2:

我們的代碼返回列表中購買的平均值。

結論

雖然 Python 沒有開關,但您可以使用字典和 get () 創建一個。

如果您想針對多個潛在結果評估一個表達式,Switch 語句很有用。

您可以編寫一個虛擬切換聲明根據鍵從字典中檢索值,您還可以編寫一個虛擬切換語句,根據您引用的特定鍵從字典中檢索函數。

您現在可以創建您在

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method