にいくつかの文字を入れて私の目標は、テキストファイル(すべて1行で)でこのテキストを変換することです:テキストファイルを読み込み、リスト
a b s d p
5 4 3 3 2
..........
....pp..s.
........s.
.a......s.
.a.....b..
.a.....b..
.a.....b..
.a.ddd.b..
..........
..........
、出力を持っている:[[「A」、「B」 、 'S'、 'D'、 'P']、[5、4、3、3、2]] しかし、私は次のエラーを取得する: ship_characters.append(STR(CHAR)) MemoryError
ここに私のコードです:
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]
'='無限ループ入ってきます。私はその質問を理解しているか分からない。 – Simon
なぜwhile文が無限ループにつながるのでしょうか?それは最初に止まらなければならない '。 – rannoudanames
結果の最初の2行にある文字だけが必要ですか? – wwii