目次
if 文を使ってみましょう。
if 文とは、条件分岐です。
x = 24
if x > 10 :
print("多いね")
else :
print("少ないね")
多いね
これは、xの値が 10 より大きければ、次の行を実行
小さければ, else: の後の行を実行という事です。
よく、最後の : (コロン) と、次の行のインデント(字下げ) を忘れがちです。
記号の ”>” は 他に、
< 少なければ
>= 以上なら
<= 以下なら
== 同じなら
!= 違ったら
などが あります。
if を使った問題
では又、前回の問題 https://ossanno-omoituki2020.com/2020/08/22/python-2/#toc3 を使いましょう。
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
for i in range(s_num,e_num + 1):
num = num + i
print(num)
開始 30
最後 5
0
このように、開始の値よりも最後の値が小さい場合、” 0 ” と表示されます。
これだと、何か 気持ち悪い ですよね。
この場合に、if を使って ”最後の値の方が小さいので、計算できません。” と
表示させてみて下さい。
解答例
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(num)
開始 30 最後 5 最後の値の方が小さいので、計算できません。
失敗例.1
最後の print(num) のインデントに注意しましょう。
左端に寄せてしまうと
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(num)
開始 30 最後 5 最後の値の方が小さいので、計算できません。 0
このように、最後に”0”が表示されてしまいます。
これは、if 文を抜けた後に print(num) を実行する事になるからです。
失敗例.2
最後の print(num) のインデントが
1段階、右にズレると
s_num = int(input("開始"))
e_num = int(input("最後"))
num = 0
if s_num > e_num :
print("最後の値の方が小さいので、計算できません。")
else :
for i in range(s_num,e_num + 1):
num = num + i
print(num)
開始 1 最後 5 1 3 6 10 15
このように、計算中の結果も全部表示されてしまいます。
これは、for 文の中に print(num) も含まれるからです。
このように、インデントによって結果が異なります。
面白いですよね。
コメント等、お気軽にどうぞ ( ̄▽ ̄)