ひとまず前回と同じようにタプルで配列を組んでみたのですが
どうやって配列から参照するかで詰まってしまいました。
時間も長くかかってしまったので回答を見ました。
N,K = map(int,input())
companies = [None] * N
for i in range(N):
name,password,bill = input().split()
companies[i] = (name,int(password),int(bill))
for _ in range(K):
name,password,bill = input().split()
if companies[name]
#ここで詰まる
回答を見ると、タプルと辞書を組み合わせた感じで、
私はまだやったことがない方法でした。。。
勉強させてもらうということで、ちょっと自分なりにやってみました。
N,K = map(int,input().split())
companies = {}
#companies
for _ in range(N):
company, password, balance = input().split()
#辞書のキーをcompanyにして、パスと残高をタプルにする
companies[company] = (password, int(balance))
#deal
for _ in range(K):
company, password, deal = input().split()
#タプルから変数で取得する
pin, saving = companies[company]
#パスワードが一致しなかったらスキップ
if pin != password:
continue
#ふたたびタプルとして戻す
companies[company] = (pin, saving - int(deal))
#現在の各会社名と残高を出力
for name, data in companies.items():
print(name, data[1])
辞書とタプルの登録方法と、
タプルからは変数に代入させる方法でもどして
さらに計算をしてからタプルに戻すという感じに。
その後の出力は
辞書の出力は、キーは、keys
値は、values
キー&値は items
でそれぞれ出力ができる。
さらに、上のように、それぞれ変数に格納して出力が可能なので覚えておきたい。