コンテンツにスキップ

進捗と提出

生徒情報

進捗

問題状態正解数最終採点

提出ファイル

すべての問題が終わったら、提出ファイルを作って先生に提出してください。 同じファイルは続きから再開するときの保存データにもなります。

続きから再開する

問題6-2: 辞書で成績をまとめる

Python実行環境を読み込んでいます…(初回は少し時間がかかります)

入力から辞書を組み立てる

1行に「名前 点数」の形で並んだ入力は、変数を2つ並べて受け取ってから辞書に入れられます。名前をキー、点数を値にすると、あとから名前で引けるデータになります。

tensu = {}
for i in range(2):
namae, ten = input().split()
tensu[namae] = int(ten)
print(tensu)
実行結果
{'sato': 80, 'suzuki': 65}

受け取った ten は文字列のままなので、点数として計算に使うなら int で数に変えてから入れます。名前と点数で型が違うので、ここは map ではなく1つずつ変えます。

問題

1行目に人数 n、続く n 行に「名前 点数」が空白区切りで与えられます。1行目に平均点(小数点以下は切り捨て)、2行目にいちばん点数が高い人の名前を出力してください。いちばん高い人が複数いるときは、先に出てきたほうを出力します。

入力

1行目に整数 n、続く n 行に名前と点数が空白区切りで与えられます。

n
name1 tensu1
…
namen tensun

出力

2行に分けて、平均点、いちばん点数が高い人の名前を順に出力してください。

制約

  • 1 ≦ n ≦ 100
  • 0 ≦ それぞれの点数 ≦ 100
  • 名前は英小文字だけからなり、すべて異なる

入力例1

3
sato 80
suzuki 65
tanaka 90

出力例1

78
tanaka

入力例2

1
sato 100

出力例2

100
sato

コード(Python)

標準入力(「実行」で使われます)

実行結果

ここに実行結果が表示されます

入力した内容と採点結果は、この端末のブラウザ内に自動保存されます。 進捗の確認と提出ファイルのダウンロードは画面右上の「進捗と提出」で行えます(提出のしかた)。

最初に戻しますか?