bu karakterler:Python, bağlantı dikey listeleri
.....U......
L...L.######
.S....#.....
....L.......
i karakter depolamak için bu kullanılan
chars = ['.....U......', 'L...L.######', '.S....#.....', '....L.......']
liste halinde depolanan:
for x in range(0, N):
g = input()
chars.append(g)
Şimdi sorun şu ki, L harfleri arasındaki tüm noktaları [# '] içine ama dikey olarak çevirmek istiyorum:
.....U......
L...L.######
.S..#.#.....
....L.......
Şu an için birkaç saat çalışıyorum ve hiçbir şey düşünemiyorum. Çok takdir yardımcı olur.
DÜZENLEME: Bunu yatay olarak bağlamak için kullandım. Ve çalışıyor. @ U2EF1 Eğer zip(*chars)
kullanarak listenin devrik alabilir yorum olarak bahsedilen ve daha sonra '#' için 'L' arasındaki noktalar dönüştürebilirsiniz regex kullanarak gibi
while y != N:
modchars0 = list(chars[y])
if modchars0.count('L') == 0:
y += 1
else:
for k in range(0, M):
if 'L' in modchars0[k]:
start = k + 1
break
for l in range(M-1, 0, -1):
if 'L' in modchars0[l]:
end = l
break
for h in range(start, end):
if 'L' in modchars0[h]:
pass
else:
modchars0[h] = '#'
modchars1 = modchars1.join(modchars0)
chars[y] = modchars1
y += 1
'fermuar (* karakter) 'devrik alır 'chars'. Zaten yatay çalışan bir rutininiz varsa, belirlenirsiniz. – U2EF1