2017-03-22 7 views
0

Ich versuche, ein SPOJ Problem und bekommen die Anzahl der Testfälle zu tun mit:Python 3 Fehler mit Eingang()

tc = int(input()) 

Allerdings erhalte ich eine „Nicht-Null-Exit-Code“ Fehler aus, dass Linie, wenn ich meinen Code ausführe. Hier ist der vollständige Code:

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("") 

Irgendeine Idee, was ich falsch mache?

Danke!

+0

Warum denken Sie, dass der Fehler etwas mit * dieser * Zeile zu tun hat? – user2357112

+0

@ user2357112 Weil der Online-Richter gibt mir ein Ende der Datei Fehler von dieser Linie – bclayman

+0

Sie müssen den Fehler lokal reproduzieren und genau sehen, welche Art es ist. – glibdud

Antwort

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

macht Zeilen und Spalten Ints

for r in rows: 
    for c in cols: 

versucht sein Ints iterieren, die eine Ausnahme auslöst. Nach dem Ändern oben auf

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

Code läuft ohne Ausnahme auf Win10, 3.6.