見出し画像

#29 入場料の判定2

● 問題

6歳以上70歳未満は入場料が200円になります。それ以外は,無料です。
正しく判定されません。

age = input('年齢を入力してください')
if int(age) >= 6 or int(age) < 70:
    print('入場料は200円です')
else:
    print('入場料は無料です')
年齢を入力してください80
入場料は200円です

● 解答

正しく判定されていないので,if のところにエラーがあります。
int(age) >= 6 or int(age) < 70 の or は,年齢が6歳以上,または,70歳未満ということです。これだと,すべての年齢に当てはまります。

6歳以上70歳未満という場合には,int(age) >= 6 and int(age) < 70 となります。 

age = input('年齢を入力してください')
if int(age) >= 6 and int(age) < 70:
    print('入場料は200円です')
else:
    print('入場料は無料です')
年齢を入力してください6
入場料は200円です

年齢を入力してください70
入場料は無料です

年齢を入力してください5
入場料は無料です

Pythonでは,数の範囲を以下のように書くこともできます。
こちらのほうがわかりやすいですね。
この書き方はかなり特殊で,分かりやすさを追求したPythonの一例と言えるでしょう。
通常のプログラミング言語では,数の範囲は,and を使って書きます。

age = input('年齢を入力してください')
if 6 <= int(age) < 70:
    print('入場料は200円です')
else:
    print('入場料は無料です')

#Python  #プログラミング

この記事が気に入ったらサポートをしてみませんか?