2017-05-17 8 views
1

「x [j] [i] = int(line [i])」というコードでこのエラーが発生します。 2日を探していたら、私を助けてください。私は、スドクをやろうとするだけの問題は何も得られません。助けてくれてありがとう。基数10のint()の無効なリテラルが残っています: ''エラー

def charge(nom_du_fichier): 
    mon_fichier=open(nom_du_fichier,"r") 
    x=[[0]*9 for i in range (9)] 
    for j in range(9) : 
     line=mon_fichier.readline().split(" ") 
    for i in range(len(line)): 
     x[j][i]=int(line[i]) 
    return(x) 


g=charge("sudoku.txt")  
+0

まずコードをフォーマットできますか?それはうまく形成されていない。 –

+1

明らかに、 'line [i]'にあるものは 'int'に変換できないので、ファイルはどのように見えますか? –

+0

あなたがしなければならないことは、 'for i in range ...'の前に 'print(line)'行を挿入することだけです。あなたがトレースバックを見たら、その直前に現れるものを見てください。そうすれば、 'line'の内容が問題を引き起こしていることを正確に知ることができます。 –

答えて

0

ファイル形式によっては、空白、改行など多くの文字がint()関数を使用してintに変換されません。代わりに試してみてください:

def charge(nom_du_fichier): 
    mon_fichier=open(nom_du_fichier,"r") 
    x=[[0]*9 for i in range (9)] 
    for j in range(9) : 
     line=mon_fichier.readline().split(" ") 
    for i in range(len(line)): 
     if line[i].isdigit(): 
      x[j][i]=int(line[i]) 
     else: 
      #either pass or deal with unused data 
    return(x) 
+0

申し訳ありません私は新しく、本当にそれを吸っています。私は私のコードはうまくいくが、私はまだエラーがあり、ファイルは私がそれが欲しいように見えない。私のような迷子を助けてくれてありがとう。 – Henrique

+0

私たちはすべてどこかで始める必要があります:) – pointerless

関連する問題