ふにふにぷろぐらみんぐ(もっちり)

プログラマー?いいえ、技術オタクです。

例外処理のタブーサーチ (paizaランク B 相当) Python

例外処理のタブーサーチ | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】

いつもお世話になってるpaizaさんの問題集をがんばって解いたので、コードを残しておきます。

お手本コードは15行、ネットで検索したら8行で実現されているコードがありました。怖いね

私はまだまだ初心者なので、今回のはPythonのスーパーコードを使わずに基本を重ねて地道に書いた、計26行のコードです。

私と同じ初心者さんには参考になるかも?

数年後には笑って読めるようになってたいな~

info = input().split()
command_num = int(info[0])
parameter_array_num = int(info[1])
time_data_lengs = int(info[2])

parameter_list = [[0 for _ in range(parameter_array_num)] for _ in range(command_num)]
command_amount_list = [i + 1 for i in range(command_num)]
time_data_list = [[0 for _ in range(parameter_array_num)] for _ in range(time_data_lengs)]
answer_list = [[0 for _ in range(parameter_array_num)] for _ in range(time_data_lengs - 1)]

#make parameter information dictionary
for i in range(command_num):
    parameter_list[i] = input()
command_dictionary = dict(zip(parameter_list, command_amount_list))
#print(command_dictionary)

#make time data two-dimensional list
for i in range(time_data_lengs):
    time_data_list[i] = input().split()
#print(time_data_list)

#cleate answer_list calculate n + 1 and n line difference from time_data_list
for i in range(time_data_lengs - 1):
    for j in range(parameter_array_num):
        difference = int(time_data_list[i + 1][j]) - int(time_data_list[i][j])
        answer_list[i][j] = difference
#print(answer_list)

#comparing with dictionary
s = ""
for i in answer_list:
    for j in range(parameter_array_num):
        if j == parameter_array_num -1:
            s = s + str(i[j])
        else:
            s = s + str(i[j]) + " "
#    print(s)
    print(command_dictionary[s])
    s = ""