プログラミング 超初心者のPYTHON学習.3



スポンサーリンク

目次

if 文を使ってみましょう。

if 文とは、条件分岐です。

x = 24
if x > 10 :
    print("多いね")
else :
    print("少ないね")
多いね

これは、の値が 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

このように、最後に””が表示されてしまいます。
これは、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) も含まれるからです。

このように、インデントによって結果が異なります。
面白いですよね。



この記事が気に入ったら
フォローしてね!

よかったらシェアしてね (´艸`*)
  • URLをコピーしました!
  • URLをコピーしました!

コメント等、お気軽にどうぞ ( ̄▽ ̄)

コメントする

目次