1. 28.09.2019-zadania
  2. 01.10.2019-zadania

    01.10.2019-rozwiazania

  3. 03.10.2019-zadania

    03.10.2019-rozwiazania

  4. 07.10.2019-zadania

    07.10.2019-rozwiazania

  5. 10.10.2019-zadania

    10.10.2019-rozwiazania

  6. 15.10.2019-zadania
  7. 19.10.2019-zadania

    19.10.2019-rozwiazania

  8. 22.10.2019-zadania

Komendy Pythona

Pętla while

zmienna = 0
while zmienna < 5: 
    print(zmienna)
    zmienna = zmienna + 1

Metody string (wszystkie można znaleść: https://docs.python.org/3/library/stdtypes.html#string-methods)

"MOJ STRING".lower()                 # Zwróci "moj string"
"moj string".upper()                 # Zwróci "MOJ STRING"
"MOJ STRING".capitalize()            # Zwróci "Moj string"
"moj string".capitalize()            # Zwróci "Moj string"
"moj string".split()                 # Zwróci ["moj", "string"]
"moj string, a to inny".split(", ")  # Zwróci ['moj string', 'a to inny']
" ".join(["moj", "string"])          # Zwróci "moj string"
"ŁĄCZNIK".join(["moj", "string"])    # Zwróci "mojŁĄCZNIKstring"

Te metody można łączyć np.

"moj string, a to inny".split(", ").join(". ") # Wynikiem bedzie "moj string. a to inny"

Otwieranie wrappera do pliku "dane.csv"

with open("dane.csv") as plik:      # Podajemy ścieżkę do pliku. W moim przypadku plik znajdował się w tym samym katalogu co plik pythona
     print(plik)                    # Wypisze obiekt wrappera
     for linijka in plik:
         print(linijka, end="")     # Wypisze każdą linijke pliku

Inne kontenery, poza listą

Sortowanie listy:

moja_lista = [231,3123,124,14,216,635]
moja_lista.sort()
print(moja_lista) # Wypisze: [14, 124, 216, 231, 635, 3123]

Krotka / tupla (ang. tuple) (https://pl.wikipedia.org/wiki/Krotka_(struktura_danych))

to taka lista tylko, że niemutowalna (ang. immutable). Czyli nie można nic do niej dodać, ani nic z niej usunąć

moja_krotka = (1,2,3,4, "element", False)

rzutowanie listy na krotke

moja_lista = [1,2,3,4]
krotka_z_listy = tuple(moja_lista)

Operacje zakazane

moja_krotka = (1,2,3,4, "element", False) # to można zrobić 
del moja_krotka[1]                        # usunięcie elementu o indeksie 1 jest zakazane
moja_krotka[1] = 5                        # zmienienie wartości elementu o indeksie 1 też jest zakazane

Zbiór (ang. set)

to taka lista tylko, że każdy element występuje jeden raz. Zbiory nie są indeksowane

moj_zbior = {1,2,3,4, "element", False}

rzutowanie listy na zbior

moja_lista = [1,2,3,4,4,4,4,]
zbior_z_listy = set(moja_lista)
print(zbior_z_listy)              # Wypisze {1,2,3,4}

OPERACJE NA ZBIORACH KTÓRYCH NIE BYŁO NA ZAJĘCIACH

moj_zbior = {1,2,3,4, "element", False, "jestem tylko w moj_zbior"}
moj_zbior2 = {1,2,3,4, "element", False, "a"}
moj_zbior2.intersection( moj_zbior)    # `{False, 1, 'element', 2, 3, 4}` Część wspólna -> czyli to co powtarza się w pierwszym i w drugim zbiorze. Ta operacja jest przemienna
moj_zbior2.union(moj_zbior)            # `{False, 1, 'element', 2, 3, 4, 'a', 'jestem tylko w moj zbior'}` Suma zbiorów -> czyli zbiór wszystki elementów z pierwszego zbioru plus elementów ze zbioru drugiego. Ta operacja jest przemienna
moj_zbior - moj_zbior2                 # `{'jestem tylko w moj zbior'}` różnica zbiorów -> czyli zbiór piewszy pomniejszony o elementy ze zbioru drugiego

Zadania

1. Mając listę [1,2,('true', True, 'prawda', ('narty', 'sa', ('extra',)), 'to prawda'), 4, 5, 'indeks']. Urzywając operatora wyciągnięcia elemntów z listy wyciagnij elementy o wartości: 'true', 'extra', ('extra',), 'indeks', True

1. Mając listę [32,213,42,14,51,41,652,5243,32,21,32,51,13,524]. Znajdź 3 najmniejszy i 3 największy element tej listy. Użyj do tego rzutowania na zbiór i metody listy sort() oraz wyciągnięcia elementu z listy o konkretnym indeksie. Trzeci największy element możesz wyciągnąć używając odwrotnego indeksowania.