課題として、オリンピック開催国とそのメダル数に関する情報をファイルから取得するプログラムを作成しています。
私の関数の 1 つは、次の形式のリストを通過します。
Country,Games,Gold,Silver,Bronze
AFG,13,0,0,2
ALG,15,5,2,8
ARG,40,18,24,28
ARM,10,1,2,9
ANZ,2,3,4,5
関数はこのリストを調べ、国名をキーとして辞書に格納し、残りの 4 つのエントリをタプルとして格納する必要があります。
ここに私がこれまでに取り組んでいるものがあります:
def medals(string):
'''takes a file, and gathers up the country codes and their medal counts
storing them into a dictionary'''
#creates an empty dictionary
medalDict = {}
#creates an empty tuple
medalCount = ()
#These following two lines remove the column headings
with open(string) as fin:
next(fin)
for eachline in fin:
code, medal_count = eachline.strip().split(',',1)
medalDict[code] = medal_count
return medalDict
さて、意図は、エントリが次のようになることです
{'AFG': (13, 0, 0, 2)}
代わりに、私は得ています
{'AFG': '13,0,0,2'}
タプルではなく、文字列として格納されているようです。と何か関係があるのでしょうか
medalDict[code] = medal_count
コード行?それをタプルの個別の整数値にきちんと変換する方法がよくわかりません。