2016-11-01 10 views
-2

私は現在、初級プログラミングコースを受講しており、関数の修正に役立つ必要があります。このリストのすべての要素は、文字列ではなく整数である必要があります。そしてこれを行うには、関数から1行を変更する必要がありますが、どの行を変更するのか分かりません!どんな助けでも大歓迎です。リストのすべての要素を整数にする必要があります

def read_magic_square(filename): 
    """ 
    Read values from a file into a 2D list 

    Parameter: 
    filename: the name of the file 

    Returns a 2D list of integer values read. 
    """ 

    infile = open(filename, "rt") 
    square = [] # start with an empty list 

    for line in infile: # read text from file 
     row = [] 
     numbers = line.split() 

     # Loop through the list of numbers. 
     # Append each number to the row. 
     for num in numbers: 
      row.append(num) 

     if len(row) > 0: # Don't count blank lines 
      square.append(row) # Append the row to the 2D list 

    return square 
+0

'row.append(int(num))'。 – Evert

+0

コードブロック内でフォーマットされている場合は、コード全体を確認してください。最初の2行はその外側にあり、コードを読みにくくしています。 – Evert

答えて

1

エラーを回避するために、行の文字列がある場合は、あなただけ(あなたがここで私はゼロとしてそれを置く、あなたが好きなようにinvalid_replacementを変更することができます)ことへの追加ラインを変更することができます。

invalid_replacement = 0 
try: 
    row.append(int(num)) 
except: 
    row.append(invalid_replacement) 
関連する問題