問題6-2: 辞書で成績をまとめる
入力から辞書を組み立てる
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 ≦ 1000 ≦ それぞれの点数 ≦ 100名前は英小文字だけからなり、すべて異なる
入力例1
3
sato 80
suzuki 65
tanaka 90出力例1
78
tanaka入力例2
1
sato 100出力例2
100
satoコード(Python)
標準入力(「実行」で使われます)
実行結果
ここに実行結果が表示されます入力した内容と採点結果は、この端末のブラウザ内に自動保存されます。 進捗の確認と提出ファイルのダウンロードは画面右上の「進捗と提出」で行えます(提出のしかた)。