課題Ⅰ-1
以下の属性を持つScoreクラスを定義してみましょう。
Scoreクラス | |
---|---|
属性 | 名前、英語の点数、数学の点数、理科の点数 |
classDiagram class Score { -名前 -英語の点数 -数学の点数 -理科の点数 }
解答例
class Score:
def __init__(self, name, english, math, science):
self.__name = name
self.__english = english
self.__math = math
self.__science = science
課題Ⅰ-2
3名のインスタンスを作成し、各人物の名前と点数を表示してみましょう。
名前 | 英語の点数 | 数学の点数 | 理科の点数 |
A | 30 | 65 | 80 |
B | 95 | 70 | 45 |
C | 81 | 72 | 90 |
解答例
class Score:
def __init__(self, name: str, english: int, math: int, science: int):
self.__name = name
self.__english = english
self.__math = math
self.__science = science
def print_detail(self) -> None:
print(
f"名前:{self.__name} 英語:{self.__english}点 数学:{self.__math}点 理科:{self.__science}点"
)
if __name__ == "__main__":
uehara = Score(name="上原", english=40, math=60, science=50)
uehara.print_detail()
課題Ⅰ-3
Scoreクラス | |
---|---|
属性 | 名前、英語の点数、数学の点数、理科の点数 |
メソッド | 点数の評価を出力する |
classDiagram class Score { -名前 -英語の点数 -数学の点数 -理科の点数 +点数の評価を出力() }
合計点数によって異なるコメントを出力するメソッドをScoreクラスに作成して、実行してみましょう。
《例》
- 合計点数が200点以上:天才
- 合計点数が200点未満:次回は頑張りましょう
解答例
class Score:
def __init__(self, name: str, english: int, math: int, science: int):
self.__name = name
self.__english = english
self.__math = math
self.__science = science
def print_detail(self) -> None:
print(
f"名前:{self.__name} 英語:{self.__english}点 数学:{self.__math}点 理科:{self.__science}点"
)
def calc_total(self) -> int:
return self.__english + self.__math + self.__science
def print_comment(self) -> None:
total = self.calc_total()
if total >= 200:
print("天才")
else:
print("次回は頑張りましょう")
if __name__ == "__main__":
uehara = Score(name="上原", english=40, math=60, science=50)
uehara.print_comment()