Python入門:if文
if文
if文を使うと、「もしこの条件があっていれば、このプログラムを実行する」といったコードを書くことができます。
条件式が成立した時の処理(ifブロック)
条件式が成立したときに実行されるコードは、ブロックと呼ばれます。
ブロックは、周りのコードより半角スペース4マス(Tab文字1マス)程字下げします。これをインデントといいます。
※Tab文字と半角スペースが混合した状態だとエラーが起こります。
money = input("借りたい金額を入力してください>>")
money = int(money)
if money > 10000 :
print("金額が高すぎます")
print("10000未満で我慢してください")
金額が高すぎます
10000未満で我慢してください
1万円以上の金額を借りようとすると、1万円未満で我慢してくださいという返事がきます。しかし、このプログラムでは条件式が成立しない場合は返事がきません。
else句
条件式が成立しない場合の処理も入れたい時は、else句を使います。
条件式が成立した時の処理(ifブロック)
else :
条件式が成立しなかった時の処理(elseブロック)
このとき、条件式が成立したときに実行される処理はifブロックのコード。条件式が成立しなかったときに実行される処理はelseブロックのコードです。
moneyStr = input("借りたい金額を入力してください>>")
moneyInt = int(moneyStr)
if moneyInt > 10000 :
print("金額が高すぎます")
print("10000未満で我慢してください")
else :
print(moneyStr+"貸し出します。")
1000貸し出します。
金額が高すぎます
10000未満で我慢してください
1万円未満の金額を入力した場合でも、返事が返ってきました。
elif句
if文に複数の条件式を入れたい場合はelif句を使います。
条件式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+"貸し出します。")
金額が小さすぎます。
100以上の金額でお願いします
1000貸し出します。
金額が高すぎます
10000未満で我慢してください
if文のネスト
if文の中にif文を入れて多重構造を作ることができます。このような構造をネストと呼びます。
score = input("得点を入力してください>>")
score = int(score)
if score > 100 :
print("100より大きいです")
if score < 300 :
print("300より小さいです")
100より大きいです
300より小さいです
100より大きいです
if文の中にif文をネストするときは、上のコードのようなインデントになります。
練習問題
では、これまでの内容をもとに次のプログラムを作ってみましょう!
-
身長と体重を入力すると、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("あなたは肥満です")
体重(kg)を入力してください>>45
あなたのBMIは15.389350569405973です。
あなたは瘦せ型です
最後に
この記事では、Pythonでのif文の扱い方を解説しました。
もっとPythonを学びたい!という方はこちらの記事でPythonの基本的な構文を学習することが出来ますのでぜひ立ち寄ってみてください!