Krotki (tuples) w Pythonie

Krotki (z ang. tuples) to struktury danych, w którym znajduje się uporządkowany ciąg wartości.

To co odróżnia krotki od list, to ich stałe wartości. W przypadku list, wartości możemy modyfikować, na przykład na potrzeby serwisów internetowych, dane użytkownika, dane postaci w grze RPG, itp. Krotki, to takie niemodyfikowalne listy, z których korzystamy w czasie, gdy zachodzi potrzeba użycia danych niezmieniających się w czasie życia programu.

Definiowanie krotek (tuples)

W przeciwieństwie do list, gdzie definiowanie ich odbywa się w nawiazach kwadratowych, np. lista = [1,2,3], tak w przypadku krotek, robi się to za pomocą nawiasów zwykłych, czyli krotka = (1,2,3). W krotkach, chcąc wywołać odpowiednią, możemy posługiwać się jej indeksem, np.:

rozmiary =(200,50)
print(rozmiary[0])
print(rozmiary[1])
jeśli jednak zechcielibyśmy zmienić wartość elementu o indeksie [0], np. rozmiary[0]=233, Python poinformuje nas o błędzie – ’tuple’ object does not support item assignment.
Definiowanie krotki jednoelementowej wygląda jak w poniższym przykładzie. Musimy zachować konwencję, stosując znak przecinka.
pojedynczaKrotka = (200,)

Modyfikować nie można, na nowo zdefiniować można

Krotki nie można modyfikować, o czym powiedzieliśmy sobie wcześniej, można jednak zdefiniować jej wartości na nowo, podobnie jak w przypadku zmiennej, na przykład

rozmiary = (200,50)
print("Rozmiary początkowe:")
for rozmiar in rozmiary:
    print(rozmiar)
rozmiary = (500,75)
print("Rozmiary po modyfikacji:")
for rozmiar in rozmiary:
    print(rozmiar)

Ćwiczenia z krotkami

Ćwiczenie 1.
Wypiszmy 5 potraw, dowolnych w krotce, następnie wywołajmy potrawę o indeksie [3] w zdaniu w stylu „Moja ulubiona potrawa z listy to…”
potrawy =('Strogonow','Dewolay','Krokiety z mięsem','Żurek','Frytki z kurczakiem')
print("Moja ulubiona potrawa z listy to "+potrawy[3])
Ćwiczenie 2.
Wylistujmy z pomocą pętli FOR wszystkie potrawy z naszej krotki
potrawy =('Strogonow','Dewolay','Krokiety z mięsem','Żurek','Frytki z kurczakiem')
for potrawa in potrawy:
    print(potrawa)
Ćwiczenie 3.
Chcemy zmienic teraz całe menu, zastąpić część istniejących potraw innymi i zaprezentować starą krotkę (przed zmianą) i po zmianie
print("\nNasze potrawy przed zmianą menu:")
potrawy =('Strogonow','Dewolay','Krokiety z mięsem','Żurek','Frytki z kurczakiem')
for potrawa in potrawy:
    print(potrawa)
print("\n\nZmienione menu:")
potrawy =('Ryba po grecku','Naleśniki z serem','Krokiety z mięsem','Zupa pomidorowa','Megaburger')
for potrawa in potrawy:
    print(potrawa)