2017-03-22 8 views
0

私はSPOJの問題をやろうとして使用してテストケースの数を取得しています:しかし、私はそれから「ゼロ以外の終了コード」のエラーが表示されますのPython 3エラー()

tc = int(input()) 

を私のコードを実行しているとき。私が間違ってやっている

def is_on_edge(row, col, rows, cols): 
    is_top = row == 0 
    is_left = col == 0 
    is_right = (col == cols - 1) 
    is_bottom = (row == rows - 1) 
    return is_top or is_left or is_right or is_bottom 

tc = int(input()) 

for i in range(tc): 
    rows, cols = map(int, input().split()) 
    for r in rows: 
     for c in cols: 
      if is_on_edge(r, c, rows, cols): 
       print("*", end="") 
      else: 
       print(".", end="") 
    print("") 

任意のアイデア:ここでは完全なコードですか?

ありがとうございます!

+0

なぜエラーが*その行と関係していると思いますか? – user2357112

+0

@ user2357112オンライン裁判官がその行からファイルエラーの終了を通知するので、 – bclayman

+0

エラーをローカルで再現し、どのような並べ替えが正しいかを確認する必要があります。 – glibdud

答えて

2
rows, cols = map(int, input().split()) 

行とcolsはint型

for r in rows: 
    for c in cols: 

ことになり例外が発生した、int型を反復しようとします。上記に変更後、

for r in range(rows): 
    for c in range(cols): 

コードはWin10、3.6では例外なく実行されます。

関連する問題