P7

***Krotki (tuple) i listy***


**Krotki(tuple)**
Tupla inaczej krotka jest jednowymiarową tablicą elementów. Deklaruje się je zapisując elementy w nawiasie okrągłym().
Należy zapamiętać, że nie ma możliwości edycji utworzonej tupli, czyli jest ona niemutowalna. Przydaje się to np. do tworzenia zbioru stałych.

np.
tupla=(0,1,2,3,4,5,6)
krotka=('jeden','dwa','trzy')


print(tupla)       # wypisze nam wszystkie elementy tupli
print(krotka)      # wypisze wszystkie elementy krotki (czyli tupli o nazwie krotka :))

Elementy w tupli indeksowane są od 0 i możemy się do nich odwołać poprzez podanie indeksu.

np.
krotka=('jeden','dwa','trzy')
print(krotka[0])    
    # wynikiem będzie 'jeden'

**Listy**
W odróżnieniu od krotek listy można edytować poprzez dodawanie, usuwanie, przestaiwanie, sortowanie elementów.
Deklarujemy je z użyciem nawiasów kwadratowych [].

np.
lista=[0,1,8,3,6,5]
print (lista)          #wypisze całą liste
print (lista[2])       #wypisze 8

Listy (jak i tuple) mogą zawierać różne typy zmiennych, a nawet inne listy.
np.
lista=[0,'jeden',2,'trzy']
lista1=[1,2,3,lista]
print (lista1) 
        #wynikiem będzie - [1, 2, 3, [0, 'jeden', 2, 'trzy']]


*Metody i działania na listach*
np.

lista=[0,1,2,3,4,5,6]

del lista[1]            #usuwa z listy element o indeksie nr.1 czyli w tym wypadku 1
print(len(lista))       #podaje ilość elementów listy


*metody listy*

lista=[0,1,2,6,8,3,7]
print('Oto nasza lista wyjściowa\n',lista,'\n')



lista.append(10)            #dodaje na końcu listy 10       
lista.insert(2,10)          #dodaje element z indeksem 2 o wartości 10
lista.remove(6)             #usuwa pierwszą napotkaną 6
lista.reverse()             #odwraca kolejność listy
print(lista.index(10))      #zwraca indeks (numer) pierwszego elementu o wartości 10
print(lista.count(10))      #liczy ile razy wystąpi 10
lista.sort()                #sortuje rosnąco listę
lista.sort(reverse=True)    #sortuje malejąco listę
lista.pop(3)                #usuwa z listy element z indeksem 3
lista.pop()                 #jeżeli nie podamy indeksu to usuwa ostatni element

ZADANIE
*Napisz program, który wypełni tablice 10 liczbami losowymi z zakresu 1-10, uporządkuje listę od największego do najmniejszego oraz doda na końcu liczby od 1 do 20. Na koniec powinna zostać wyświetlona informacja ile razy wystąpiła 2. Po każdym poleceniu powinno wyświetlić tablicę.

*Program powinien tworzyć n-elementową listę (n podawane z klawiatury) losowymi liczbami z zakresu 1-100. W programie można modyfikować wartości (indeks) oraz usuwać wybrane z klawiatury liczby.