Pythonの初心者向けにif文の使い方について一からまとめます。
自分でプログラムを書くときに必須になるとても大切な知識になります。
for文と並び、少しずつでも良いので必ず使えるように覚えておきましょう。
if文について
指定した条件に一致するとき、または一致しないときにだけ指定した処理をすることができます。
if文の基本形はこちらです。
1 2 |
if 条件1: 処理1 |
・1行目
ifとその後に条件を書き、文末に「:」コロンを入力します。
・2行目
1行目の条件に合ったときは、その時にだけ行う固有の処理を記述します。
固有の処理を書くときは、インデントと呼ばれる4つの半角スペース、もしくはTabキーを1回入力して行頭を下げます。
これが基本形になります。
次の項目から詳細を記載していきます。
if文の使い方
指定した条件に合う場合
ある変数や値が、指定した値と一致するかを判定します。
最も基本的な使い方です。
1 2 3 4 5 6 7 8 9 10 11 12 |
#[1] a = 10 if a == 10: print("aの値は10") #"aの値は10" #[2] c = "hello world" if c == "hello world": print(c) #hello world |
[1]は、a=10の時に「aの値は10」と表示するプログラムです。
変数aに10を最初に代入しているので、if文で指定された条件に合います。
よって、if文の中に書かれているprint関数が実行されます。
[2]は、b=10の時に「bの値は10」と表示するプログラムです。
bの値は15なので、if文で指定された条件には合わず、if文内に記述されているprint関数は実行されません。
[3]は、cがhello worldという文字列を持つ時に変数cの値である「hello world」を表示します。
今回は指定した文字列と一致するかという条件でしたが、
if文は数字以外にも様々な条件で値を比較することができます。
指定した条件に合わない場合
1 2 3 4 5 6 7 8 9 10 11 |
#[1] a = 15 if a==10: print("aの値は10") #この時は何も表示されません #[2] b = "Hello World!!" if b== "hello world": print(b) #何も表示されません。 |
[1]は、変数aの値が10の時に、「aの値は10」と表示するプログラムですが。
変数aに15を代入しており、if文で指定した条件とは合わないので、何も表示されません。
[2]は、変数bの値が「hello world」の文字列であるときに、「hello world」と表示するプログラムです。
変数bに「Hello World!!」という文字列を代入しているので、if文で指定した条件とは合わず、何も表示されません。
文字列の大小や、「!」、「?」と言った記号もそれぞれ個別に判定されます。
指定した値以外の場合に処理を実行する
1 2 3 4 5 6 7 8 9 10 11 |
#[1] a = 10 if a != 15: print(a) #10 #[2] b = "Hello World!!" if b != "hello world": print(b) #Hello World!! |
if文で使う記号は演算子と呼ばれますが、「!=」は指定した値以外のである場合に固有の処理を行います。
[1]は、変数aの値が15以外の時に変数aの値を表示します。
変数aに10を代入しており、指定した値とは異なるという意味でif文の条件に合うので、処理が実行されます。
[2]は、変数bの値が「hello world」以外の時に変数bの値を表示します。
変数bには、「Hello World!!」という文字列が代入されているので、これも指定した値とは異なるという意味でif文での指定条件とは合うので処理が実行されます。
値が指定範囲内の場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#[1] a = 10 if a<100: print(a) #10 #[2] b = 100 if b >= 100: print(b) #100 #[3] c = 1000 if 1 < c < 1500: print(c) #1000 #[4] d = 10000 if 1 < d < 5000: print(d) #何も表示されない #[5] e = 100000 if 1 <= e < 100000: print(e) #何も表示されない。 |
Pythonでは、値の大小を比較するために「<」、「>」、「<=」「>=」と言った記号を使います。これも演算子と呼ばれます。
[1]は、aの値が100未満の時に aの値を表示します。
aの値は10であり100未満なので、if文で指定した条件に合致し、10が表示されます。
[2]は、bの値が100以下の場合にbの値を表示します。
変数bには100が代入されており、100以下という条件に合うので、bの値である100が表示されます。
[3]は、cの値が1より大きく、1500未満の場合にcの値を表示します。
変数cには1000が代入されており、if文で指定された条件と会うので、cの値である1000が表示されます。
[4]は、dの値が1より大きく、5000未満の場合にdの値を表示ます。
この例のように複数の演算子を使って範囲を指定することもできます。
変数dは10000が代入されており、5000よりも大きい値なので条件には合わず、何も表示されません。
[5]は、eの値が1以上、100000未満の場合にeの値が表示されます。
eの値は100000であり、if文で指定された条件には合わないので、何も表示されません。
「e < 100000」だと、100000未満と言う条件になるので100000である場合は条件にはありません。
条件に合うようにするには、「e < 100001」とするか、「e <= 100000」のように100000を含むような演算子の使い方が必要になります。
elif・else(条件分岐)
and(複数条件)
not(否定)
None
まとめ
LeetCodeというサイトでfor文とif文を使う練習をしてみましょう。
英語なので大変ですが、とても勉強になりますよ。
Sign of the Product of an Array – LeetCode
このサイトでも解答を書いています。
問題にあたってみてわからなければ、こちらの記事も読んでみてください。
コメント