ARMtech

Python入門:if文

if文

if文を使うと、「もしこの条件があっていれば、このプログラムを実行する」といったコードを書くことができます。

if文の書き方
if 条件式 :
       条件式が成立した時の処理(ifブロック)

条件式が成立したときに実行されるコードは、ブロックと呼ばれます。
ブロックは、周りのコードより半角スペース4マス(Tab文字1マス)程字下げします。これをインデントといいます。
※Tab文字と半角スペースが混合した状態だとエラーが起こります。

money = input("借りたい金額を入力してください>>")

money = int(money)

if money > 10000 :

print("金額が高すぎます")

print("10000未満で我慢してください")

実行結果
借りたい金額を入力してください>>1000
借りたい金額を入力してください>>200000
金額が高すぎます
10000未満で我慢してください

1万円以上の金額を借りようとすると、1万円未満で我慢してくださいという返事がきます。しかし、このプログラムでは条件式が成立しない場合は返事がきません。

else句

条件式が成立しない場合の処理も入れたい時は、else句を使います。

else句の書き方
if 条件式 :
       条件式が成立した時の処理(ifブロック)
    else :
       条件式が成立しなかった時の処理(elseブロック)

このとき、条件式が成立したときに実行される処理はifブロックのコード。条件式が成立しなかったときに実行される処理はelseブロックのコードです。

moneyStr = input("借りたい金額を入力してください>>")

moneyInt = int(moneyStr)

if moneyInt > 10000 :

print("金額が高すぎます")

print("10000未満で我慢してください")

else :

print(moneyStr+"貸し出します。")

実行結果
借りたい金額を入力してください>>1000
1000貸し出します。
借りたい金額を入力してください>>20000
金額が高すぎます
10000未満で我慢してください

1万円未満の金額を入力した場合でも、返事が返ってきました。

elif句

if文に複数の条件式を入れたい場合はelif句を使います。

else句の書き方
if 条件式1 :
       条件式1が成立した時の処理(ifブロック)
    elif 条件式2 :
       条件式2が成立した時の処理(elifブロック)
    else :
       条件式が成立しなかった時の処理(elseブロック)

基本的に、ひとつのif文の中に複数の条件式が含まれる場合、一番上の条件式が優先され、ひとつのブロックしか実行されません。

moneyStr = input("借りたい金額を入力してください>>")

moneyInt = int(moneyStr)

if moneyInt > 10000 :

print("金額が高すぎます")

print("10000未満で我慢してください")

elif moneyInt < 100 :

print("金額が小さすぎます。")

print("100以上の金額でお願いします")

else :

print(moneyStr+"貸し出します。")

実行結果
借りたい金額を入力してください>>10
金額が小さすぎます。
100以上の金額でお願いします
借りたい金額を入力してください>>1000
1000貸し出します。
借りたい金額を入力してください>>20000
金額が高すぎます
10000未満で我慢してください

if文のネスト

if文の中にif文を入れて多重構造を作ることができます。このような構造をネストと呼びます。

score = input("得点を入力してください>>")

score = int(score)

if score > 100 :

print("100より大きいです")

if score < 300 :

print("300より小さいです")

実行結果
得点を入力してください>>200
100より大きいです
300より小さいです
得点を入力してください>>400
100より大きいです

if文の中にif文をネストするときは、上のコードのようなインデントになります。

練習問題

では、これまでの内容をもとに次のプログラムを作ってみましょう!

  1. 身長と体重を入力すると、BMIと体型が表示されるプログラムを作成する。
    BMIの求め方:BMI = 体重kg ÷ (身長m)2

    BMI体型
    18.5未満瘦せ型
    18.5以上~25未満普通
    25以上肥満

解答例※あくまで一例です。

(1)

height = input("身長(cm)を入力してください>>")

weight = input("体重(kg)を入力してください>>")

height = float(height)

weight = float(weight)

#単位をcm→mに変換

bmi = weight/(height/100)**2

print("あなたのBMIは"+str(bmi)+"です。")

if bmi < 18.5 :

print("あなたは瘦せ型です")

elif bmi < 25 :

print("あなたは普通です")

else :

print("あなたは肥満です")

実行結果
身長(cm)を入力してください>>171
体重(kg)を入力してください>>45
あなたのBMIは15.389350569405973です。
あなたは瘦せ型です

最後に

この記事では、Pythonでのif文の扱い方を解説しました。
もっとPythonを学びたい!という方はこちらの記事でPythonの基本的な構文を学習することが出来ますのでぜひ立ち寄ってみてください!

<   >
© 2024 ARMtech