前提
python で以下のプログラミングをしました。
(私自身初めてpythonを使用しています。)
①画面に'Your score'と表示されます。
②キーボードから点数を入力します。
③入力された点数により、
0~40以下 ’Grade1’
41~70以下 ’Grade2’
71~100以下 ’Grade3’
また、100を超える数字と、マイナスの数字が入力された場合は、
’error1’と’error’ を表示させたい。
④「elif」は使用しない。
子供(高校生)の課題を手伝っています。
④のついては、まだ学習していないため、使用しません。
実現したいこと
以下の数値を入力した時に、想定した結果となるようにしたい。
70~100を入力(例えば80) → 'Grade3'
100を超える(例えば120) → ’error1’
発生している問題・エラーメッセージ
以下の数値を入力すると、想定した結果とならない。
70~100を入力(例えば80) → 'error1'
100を超える(例えば120) → ’Grade1’
該当のソースコード
python
1score=0 2score=input('Your score?') 3if score >= '0': 4 if score <= '40': 5 print('Grade1') 6 else: 7 if '40' < score <= '70': 8 print('Grade2') 9 else: 10 if '70' < score <= '100': 11 print('Grade3') 12 else: 13 if score > '100': 14 print('error1') 15else: 16 print('error') 17
試したこと
if文(else)の個数が多いので、うまく走らないのではないか
と考え、if文を少なくするよう3行目を以下のように変更しました
変更前 if score >= '0':
変更後 if ’0’ <= score <= '100': (変更前の12~14行目が無くなるように)
すると、入力値の結果は、全て'error'となりました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー