Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Switchステートメント:ハウツーガイド

JavaやC#とは異なり、Pythonには組み込みのswitchステートメントがありません。つまり、「switch…case」ステートメントを模倣する独自のコードを記述せずに、switch式を評価することはできません。

このガイドでは、Pythonで「switch…case」を作成する方法について説明し、コードで1つを作成する方法を学習できるようにfaux-switchステートメントの2つの例を説明します。

Switchステートメント:復習

switchステートメントを使用すると、実行するコードブロックのセットの1つを選択できます。これらは、プログラム内の複数の式を評価する方法です。

switchステートメントは、switchステートメントを評価し、そのステートメントの結果を「case」ステートメントの値と比較することによって機能します。一致するものが見つかった場合、それぞれのコードブロックが実行されます。そうでなければ、何も起こりません。

オプションで、特定の式に一致するステートメントが見つからない場合、「default」キーワードを使用してコードのブロックを実行します。

Python Switchステートメント:個々の値を返す

数値を曜日に変換するプログラムを書いてみましょう。

まず、ユーザーに、書面に変換したい数字を挿入するように依頼します。

convert_to_day = int(input("Insert a day of the week: "))

ユーザーがプログラムに挿入した値を整数に変換します。これが必要な理由については、チュートリアルの後半で説明します。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

次に、辞書を定義します。この辞書には、すべての曜日が含まれます。各キーは日を数値として保存し、各値は書き出された日(つまり火曜日)を保存します。

days = {
	   1: "Monday",
	   2: "Tuesday",
	   3: "Wednesday",
	   4: "Thursday",
	   5: "Friday",
	   6: "Saturday",
	   7: "Sunday"
}

辞書には7つのキーと値があります。キー「1」は「月曜日」などを表し、週の最終日まで続きます。

次に、辞書get()メソッドを使用して、ユーザーが挿入した値に対応するこの辞書の項目にアクセスします。

day_as_written = days.get(convert_to_day, "There is no day with this numerical value.")
print(day_as_written)

ユーザーがプログラムに挿入した値を整数に変換して、get()で使用できるようにしました。 声明。 「convert_to_day」が格納する値に等しいキーがない場合、コードは「この数値の日はありません」を返します。

ユーザーが値「1」を挿入すると、コードは次のように評価します。

days[1]

これにより、リスト内のキー「1」に関連付けられた値が取得されます。

コードを実行して、何が起こるか見てみましょう。

Insert a day of the week: 1
Monday

このコードは、ユーザーが挿入した数値を文字列に正常に変換します。辞書に存在しない日にコードを実行してみましょう。

Insert a day of the week: 8
There is no day with this numerical value.

ユーザーが無効な値を挿入した場合でも、コードは機能します。

Python Switchステートメント:関数の呼び出し

この構文を使用して、コード内の関数を呼び出すことができます。サンドイッチ店での購入リストに関する情報を表示するアプリケーションを作成します。

まず、購入のリストを定義しましょう。

purchases = [2.50, 2.50, 2.75, 3.90, 5.60, 2.40]

次に、3つの関数を定義します。これらの関数は以下を計算します:

  • リスト内の購入数
  • 平均購入額
  • 最大の購入

これらの関数を定義しましょう:

def number_of_purchases():
	   total = len(purchases)
	   print(total)

def average_value():
	   average = sum(purchases) / len(purchases)
	   print(average)

def largest_purchase():
	   largest = max(purchases)
	   print(largest)

これらの関数を定義したので、faux-switchステートメントの記述を開始します。最初の例で行ったように、まずユーザーに値を挿入するように依頼します。ユーザーが挿入する値は、関数の1つに対応している必要があります。

print("[1] Display the number of purchases made today")
print("[2] Display the average value of all the purchases made today")
print("[3] Display the largest purchase made today")
to_run = int(input("What would you like to do? "))

私たちのコードは3つのメッセージを出力します。それぞれが、ユーザーに選択可能なオプションを通知します。次に、コードはユーザーに値を挿入するように求めます。この値を数値に変換して、後でプログラムで使用できるようにします。

次に、関数を数値にマップする辞書を定義します。

options = {
		1: number_of_purchases,
		2: average_value,
		3: largest_purchase
}

値「1」は「number_of_purchases」という関数にマップされ、値「2」は関数「average_value」にマップされ、値「3」は「largest_purchase」関数にマップされます。

次に、get()を使用します プログラムが実行する関数を選択する方法:

function_to_execute = options.get(to_run)
function_to_execute()

このコードは、実行する辞書から関数を取得します。 get()に2番目の値を指定していません コードを機能させるには関数を呼び出す必要があるためです。これは、ユーザーが無効な値を挿入した場合、コードがエラーを返すことを意味します。この動作を処理する方法はいくつかありますが、そうすることはこのチュートリアルの範囲外です。

コードを実行してみましょう:

[1] Display the number of purchases made today
[2] Display the average value of all the purchases made today
[3] Display the largest purchase made today
What would you like to do? 3
5.6

リストからオプション3を選択しました。私たちのコードは、特定の日に行われた最大の購入を正常に出力します。オプション2を選択してみましょう:

[1] Display the number of purchases made today
[2] Display the average value of all the purchases made today
[3] Display the largest purchase made today
What would you like to do? 2
3.275

コードは、リスト内の購入の平均値を返します。

結論

Pythonには組み込みのswitchステートメントはありませんが、辞書とget()を使用して作成できます。 方法。

switchステートメントは、複数の潜在的な結果に対して式を評価する場合に役立ちます。

指定したキーに応じてディクショナリから値を取得するfaux-switchステートメントを記述できます。参照する特定のキーに基づいてディクショナリから関数を取得するfaux-switchステートメントを作成することもできます。

これで、エキスパートコーダーのようなPythonプログラミング言語で独自のswitchステートメントを作成する準備が整いました。


  1. Python Hello World:ハウツーガイド

    Pythonの「HelloWorld」プログラムは通常、コーダーがPythonで作成する最初のプログラムです。このプログラムは、printステートメントを使用してPythonコンソールに文字列を表示します。プログラムは次のようになります:print(“ Hello World”)。 Pythonバージョンが機能することを確認するために作成できる最初のプログラムの1つは、「HelloWorld」です。プログラムを作成するには、ターミナルまたは選択したコードエディター(Visual Studio Code、Vimなど)の2つの方法があります。 開始するには、マシンにPython3がインストー

  2. SQL WHEREステートメント:ハウツーガイド

    SQL WHERE句は、コマンドによって返される、または影響を受けるレコードの数を制限します。これは、SELECT、UPDATE、およびDELETE句で使用されます。 ANDキーワードを使用して、コマンドの影響を受けるレコードが満たす複数の条件を指定できます。 特定の条件を使用して、クエリの結果を除外したい場合があります。たとえば、営業マネージャーである従業員のリストを取得したい場合があります。または、特定の日付の後に誰が会社で働き始めたかを知りたい場合があります。 WHERE句を使用して、SQLコマンドの実行中に特定のレコードを除外できます。このステートメントは、SELECT、UPDA