Untitled
unknown
plain_text
a year ago
2.5 kB
5
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