寝癖頭の解法

小学生の目線から、勉強中の覚え書きを投稿、更新していきます。

paizaラーニング: Pythonによる「Cランクレベルアップメニュー 」辞書 問題集

paizaラーニングのレベルアップ問題集「Cランクレベルアップメニュー 」からの出典です。
paiza.jp
Pythonによる「Cランクレベルアップメニュー 」辞書 問題集と、それらの提出コードの解答例です。

僕が作成、提出したコードは、以下のとおりです。

・STEP: 1 辞書の基本

/*
Pythonによる「Cランクレベルアップメニュー 」辞書 問題集
STEP: 1 辞書の基本  
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
# coding: utf-8
n = int(input())
lis = []
for i in range(n):
    tempo = input().strip().split()
    lis.append(tempo)
s = input()
for i in range(n):
    if s in lis[i]:
        print(lis[i][1])

・STEP: 2 辞書のデータ更新

/*
Pythonによる「Cランクレベルアップメニュー 」辞書 問題集
STEP: 2 辞書のデータ更新 
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
# coding: utf-8
n = int(input())
lis = []
for i in range(n):
    tempo = []
    s = input()
    tempo.append(s)
    tempo.append(int(0))
    lis.append(tempo)
m = int(input())
for i in range(m):
    foo, bar = input().strip().split()
    for j in range(n):
        if foo in lis[j]:
            lis[j][1] = lis[j][1] + int(bar)
ans = input()
for i in range(n):
    if ans in lis[i]:
        print(lis[i][1])

・STEP: 3 辞書データの順序

/*
Pythonによる「Cランクレベルアップメニュー 」辞書 問題集
STEP: 3 辞書データの順序 
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
# coding: utf-8
n = int(input())
lis = []
for i in range(n):
    tempo = []
    s = input()
    tempo.append(s)
    tempo.append(int(0))
    lis.append(tempo)
m = int(input())
for i in range(m):
    foo, bar = input().strip().split()
    for j in range(n):
        if foo in lis[j]:
           lis[j][1] = lis[j][1] + int(bar)
lis.sort()
for i in range(n):
    print(lis[i][1])

・FINAL問題: 辞書

/*
Pythonによる「Cランクレベルアップメニュー 」辞書 問題集
FINAL問題: 辞書 
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
p, q, r = map(int, input().split())
lis = []
for i in range(p):
    tempo = []
    agroup, bgroup = map(int, input().split())
    tempo.append(agroup)
    tempo.append(bgroup)
    lis.append(tempo)
for i in range(q):
    bgroup, cgroup = map(int, input().split())
    for j in range(p):
        if bgroup == lis[j][1]:
            lis[j].append(cgroup)
lis.sort()
for i in range(p):
    print(str(lis[i][0]) + " " + str(lis[i][2]))

paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。