lista = [1,2,3,4,5,6,7,8,9,10]
kwadraty = [i**2 for i in lista]
print(kwadraty)

kwadraty = (i**2 for i in lista)
print(kwadraty)

kwadraty = {i:i**2 for i in lista}
print(kwadraty)

kwadraty = tuple(i**2 for i in lista) # zamiana generator na listę
print(kwadraty)

podwojenia = [2*i for i in range(10)]
print(podwojenia)

kwadraty = [i**2 for i in lista if i % 2 == 0]
print(kwadraty)


panstwa = ["Pol", "Niemcy", "Francja", "Hiszpania"]
stolice = ["Warszawa", "Berlin", "Paryz", "Madryt"]
informacje = [f"{stolica} to stolica kraju: {panstwo}" for panstwo, stolica in zip(panstwa, stolice)]
for info in informacje:
    print(info)


#Utworz liste zawierajaca tylko slowa bedace palindromami
slowa = ["ala", "kot", "pies", "kamilslimak", "zebra", "madam", "Adma"]
palindromy = [x for x in slowa if x == x [::-1]]
print(palindromy)


#Utworz liste zawierajaca tylko krotki, ktore moglyby zawierac dlugosci bokow trojkata
trojkaty = [(1, 3, 5), (2, 2, 3), (3, 1, 8), (3, 4, 5)]
poprawne_trojkaty = [troj for troj in trojkaty if 2 * max(troj) < sum(troj)]

#Z podanego ciagu znakow usun wszystkie znaki niebedace cyframi lub literami
string = "hello@123world!456"
alphabets = [c for c in string if c.isalpha()]
print(''.join(alphabets))


try:
    # cośtam dalej
    pass
except ChildProcessError as e:
    # wykonujemy coś dalej
    pass
else:
    # jakikolwiek inny wyjątek
    pass
finally:
    #wykonanie na sam koniec wszystkiego
    pass