# ROZGRZEWKA
# 
#  lista = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 256, 1024, 65205625]
# x = 0
# for i in range(len(lista)):
#     for j in range(x, lista[i]+1):
#         if j*j == lista[i]:
#             print(f'Pierwiastek z {lista[i]} jest równy {j}')
#             x=j


przykladowa_lista = [8, "kot", 3, 8.5, "CS"]

print(przykladowa_lista)

#append - dodawanie elementów do listy
przykladowa_lista.append(-6)
print("Lista po dodaniu elementu")
print(przykladowa_lista)

#extend - poszerzenie listy o iteracyjny element - np. listę
przykladowa_lista.extend(["pies", 3.14, "pi"])
print("Lista po rorszerzeniu o dodatkową listę")
print(przykladowa_lista)

#insert - dodanie elementu do listy o wskazanym indeksie
przykladowa_lista.insert(1, "CS")
print("Lista po dodaniu elementu")
print(przykladowa_lista)

#remove - usuwa pierwszy element z listy o podanej wartości
przykladowa_lista.remove("kot")
print("Lista po usunięciu elementu")
print(przykladowa_lista)

#pop - usuwa element spod podanego indeksu i go zwraca (usuwanie ze wzracaniem)
a = przykladowa_lista.pop(2)
print(f'Lista po usunięciu elementu o indeksie {a}')
print(przykladowa_lista)

#index - zwraca indeks pierwszego znalezionego elementu
id = przykladowa_lista.index("CS")
print(f'Indeks elementu CS')
print(id)

#index - zwraca indeks pierwszego znalezionego elementu przeszukując listę od indeksu 3
id = przykladowa_lista.index("CS", 3)
print(f'Indeks elementu CS')
print(id)

#index - zwraca indeks pierwszego znalezionego elementu przeszukując listę w zakresie od 0 do 2
id = przykladowa_lista.index("CS", 0, 3)
print(f'Indeks elementu CS')
print(id)

#count - zwraca liczbę wystąpień danej wartości w liście
count = przykladowa_lista.count("CS")
print(f"Liczba wystąpień wartości CS w liście")
print(count)

# #sort - sortowanie listy
# przykladowa_lista.sort()
# print(przykladowa_lista)
# #sortowanie nie działa, gdy mamy listy mieszane

#remove - usunięcie elementów
przykladowa_lista.remove("CS")
print(przykladowa_lista)


przykladowa_lista.remove("CS")
przykladowa_lista.remove("pies")
przykladowa_lista.remove("pi")
print("Lista przed sortowaniem")
print(przykladowa_lista)
przykladowa_lista.sort()
print("Lista po sortowaniu")
print(przykladowa_lista)

#reverse - odwraca listę
przykladowa_lista.reverse()
print("Lista po odwróceniu")
print(przykladowa_lista)
#copy - kopiowanie listy
kopia=przykladowa_lista.copy()
print("Lista skopiowana")
print(kopia)
#clear - usuwa wszystkie elementy z listy
przykladowa_lista.clear()
print("Wyczyszczona lista")
print(przykladowa_lista)

###### ZADANIE #######

# 1 Stwórz 2 listy składające się z 3 liczb każda
# 2 Połącz stworzone wcześniej listy
# 3 Usuń elementy z indeksami 2 i 5 , który element należy usunąć najpierw?
# 4 Usuń największą i najmniejszą liczbę z listy
# 5 Dodaj liczbę do listy
# 6 Posortuj listę
# 7 Utwórz kopię listy
# 8 Odwróć kolejność elementów w kopii
# 9 Dodaj do każdej wartości w pierwszej listy 1, a w drugiej odejmij 1
# 10 Wyświetl obie listy



#1 Stwórz 2 listy składające się z 3 liczb każda
lista1 = [2,7,4]
lista2 = [9,3,6]
print(lista1)
print(lista2)
#2 Połącz stworzone wcześniej listy
lista1.extend(lista2)
print(lista1)
#3 Usuń elementy z indeksami 2 i 5 , który element należy usunąć najpierw?
lista1.pop(5)
lista1.pop(2)
print(lista1)
#4 Usuń największą i najmniejszą liczbę z listy
lista1.remove(min(lista1))
lista1.remove(max(lista1))
print(lista1)
#5 Dodaj liczbę do listy
lista1.append(5)
print(lista1)
#6 Posortuj listę
lista1.sort()
print(lista1)
#7 Utwórz kopię listy
lista_kopia = lista1.copy()
print(lista_kopia)
#8 Odwróc kolejność elementów w kopi
lista_kopia.reverse()
print(lista_kopia)
#9 Dodaj do każdej wartości w pierwszej listy 1, a w drugiej odejmij 1
for i in range(len(lista1)):
    lista1[i] += 1
for i in range(len(lista_kopia)):
    lista_kopia[i] -= 1
#10 Wyświetl obie listy
print(lista1)
print(lista_kopia)