Mein Ziel setzen, diesen Text in einer Text-Datei (alle in 1 Zeile) zu transformieren:Textdatei zu lesen und einige Zeichen in Listen
a b s d p
5 4 3 3 2
..........
....pp..s.
........s.
.a......s.
.a.....b..
.a.....b..
.a.....b..
.a.ddd.b..
..........
..........
und einen Ausgang hat: [[ 'a', 'b' , 's', 'd', 'p'], [5, 4, 3, 3, 2]] Aber ich folgende Fehlermeldung erhalten: ship_characters.append (str (char)) Memory
Hier ist mein Code:
def read_ship_data(game_file):
ship_characters = []
ship_sizes = []
game = open(game_file, 'r')
for line in game:
for char in line:
while char != '.':
if char.isalpha():
ship_characters.append(str(char))
elif char.isnumeric():
ship_sizes.append(int(char))
return [ship_characters , ship_sizes]
'während char =‚‘:' Endlosschleife eingehenden. Ich bin mir nicht sicher, ob ich die Frage verstehe. – Simon
Warum würde die While-Anweisung zu einer Endlosschleife führen? Sollte es nicht beim ersten "." – rannoudanames
Wollen Sie nur Zeichen in den ersten beiden Zeilen im Ergebnis? – wwii