質問: 'A03' if num in result: print("合格") elif 0 <= num < 60: print("不合格") else: print("未受験") ``` A01までは条件通りの評価が表示されるのですが、それ以降は `TypeError: '<=' not supported between instances of 'int' and 'str'` というエラーになってしまいます。 どこが間違いでどういう訂正をしたらいいのか教えていただきたいです。 追記:もう少し詳しく情報がわかるように編集しました! 教えていただくというのに申し訳ないです...。よろしくおねがいします!
回答: おそらく、受験番号と点数を混同されているのではないでしょうか。 変数 `num` について、`num = 'A03'` という代入をしているように、`num` には受験番号の文字列 `'A03'` が入っています。点数は入っていません。今回出ているエラーは「`<=` っていうから数値かと思ったら、文字列だからできないよ」というもので、実際 `num` は文字列なので `0 <= num` という比較はできません。 点数を知るためには辞書 `result` からもらってこなければいけません。たとえば `'A03'` の点数は `result['A03']` と書くと取得できます。 ところで、今の条件分岐のやり方だと受験番号と点数の混同を直しても上手く動きません。今のままだと `result` に点数が格納されているだけで「合格」が出力されてしまいます。if 文がどのように動くのかよく確認してみてください。