HackerRankの問題、Finding the percentageを解いた。
問題
問題文はFinding the percentage | HackerRank
自分の解答
コード
if __name__ == '__main__':
n = int(input())
student_marks = {}
for _ in range(n):
name, *line = input().split()
scores = list(map(float, line))
student_marks[name] = scores
query_name = input()
num_of_scores = len(scores)
print("{0:.2f}".format(sum(student_marks[query_name]) / num_of_scores))
考え方
標準入力から読み込むところは全部HackerRank側で用意してくれていたので、自分が書いたのは末尾の2行だけです。
指定された名前の生徒の平均点を、小数点以下2桁まで出したいので、
- リストに入った点数の総和を求める
- リストに入った点数の数を求める
- 計算して桁数を整える
が出来ればOK。
点数の数をnum_of_scores
に入れて、点数の総和はlistに対してsumした値を割れば平均点。
これを、formatで小数点以下2桁までの表示にしてprintすれば完了。