Untitled
unknown
plain_text
2 years ago
2.5 kB
7
Indexable
with open('szachy.txt') as plik:
wczytane=plik.read().splitlines()
szachownice=[]
for i in range(0,len(wczytane), 9):
szachownica = []
for j in range(8):
szachownica.append(wczytane[i+j])
szachownice.append(szachownica)
print(szachownice)
def znajdz_c_k(plansza):
for w in range(8):
for k in range(8):
if plansza[w][k] == 'k':
return [w,k]
def znajdz_b_k(plansza):
for w in range(8):
for k in range(8):
if plansza[w][k] == 'K':
return [w,k]
def czy_b_szach(plansza, w, k):
l_w=w
while l_w>0:
pole= plansza[l_w-1][k]
if pole !='.' or pole != 'W':
break
elif pole == 'W':
return True
l_w-=1
l_w=w
while l_w<7:
pole = plansza[l_w+1][k]
if pole !='.' or pole != 'W':
break
elif pole =='W':
return True
l_w+=1
l_k=k
while l_k>0:
pole = plansza[w][l_k-1]
if pole != '.' or pole!='W':
break
elif pole == 'W':
return True
l_k -= 1
l_k=k
while l_k<7:
pole= plansza[w][l_k+1]
if pole!='.' or pole !='W':
break
elif pole == 'W':
return True
l_k+=1
return False
def czy_c_szach(plansza, w, k):
l_w=w
while l_w>0:
pole= plansza[l_w-1][k]
if pole !='.' or pole != 'w':
break
elif pole == 'w':
return True
l_w-=1
l_w=w
while l_w<7:
pole = plansza[l_w+1][k]
if pole !='.' or pole != 'w':
break
elif pole =='w':
return True
l_w+=1
l_k=k
while l_k>0:
pole = plansza[w][l_k-1]
if pole != '.' or pole!='w':
break
elif pole == 'w':
return True
l_k -= 1
l_k=k
while l_k<7:
pole= plansza[w][l_k+1]
if pole!='.' or pole !='w':
break
elif pole == 'w':
return True
l_k+=1
return False
def zad():
b_wieza_s = 0
c_wieza_s = 0
for plansza in szachownice:
w = znajdz_c_k(plansza)[0]
k = znajdz_c_k(plansza)[1]
if czy_b_szach(plansza, w, k):
b_wieza_s+=1
w = znajdz_b_k(plansza)[0]
k = znajdz_b_k(plansza)[1]
if czy_c_szach(plansza, w, k):
c_wieza_s+=1
return c_wieza_s, b_wieza_s
print(zad())
Editor is loading...
Leave a Comment