Python zajęcia 3 i 4
🤖 Decyzje
Pierwszym krokiem zanim podejmiemy jakąś decyzje jest np. dokonanie porównania.
Jakie porównania możemy wykonać?
Operator | Znaczenie | Pytanie logiczne | Przykład |
---|---|---|---|
== | Równość | Czy x jest równe y? | x == y |
!= | Nierówność | Czy x nie jest równe y? | x != y |
> | Większe niż | Czy x jest większe od y? | x > y |
>= | Większe lub równe | Czy x jest większe lub równe y? | x >= y |
< | Mniejsze niż | Czy x jest mniejsze od y? | x < y |
<= | Mniejsze lub równe | Czy x jest mniejsze lub równe y? | x <= y |
🧠 Operatory logiczne
🔗 AND - Zwraca True, jeśli oba warunki są prawdziwe
🔀 OR - Zwraca True, jeśli co najmniej jeden warunek jest prawdziwy.
🔄 NOT - Odwraca wartość logiczną: True ➝ False, False ➝ True
💡Instrukcja if, elif, else pozwala podejmować decyzje w programie — sprawdza pierwszy warunek, jeśli nie jest spełniony, sprawdza kolejny (elif), a jeśli żaden nie pasuje, wykonuje ostatnią opcję (else)
‼️ jeśli korzystamy tylko z if to każdy warunek będzie wykonany
🔠 upper() → zamienia na wielkie litery
🔡 lower() → zamienia na małe litery
🧩 Co robi f przed stringiem?
Pozwala {wstawiać wartości zmiennych} bezpośrednio do tekstu.
🏠 Praca domowa 1
punkty=0
print('''
Oto czas, gdy dymy z kuchennych palenisk wznosiły się ku niebiosom,
a zapach pieczystego i korzennych przypraw wypełniał zamkowe hale!
Witaj, szlachetny wędrowcze!
Jedna jeno odpowiedź w każdym zapytaniu prawdziwą jest.
Kto odpowie błędnie, temu odejmie się pół punktu z dorobku.
Niechaj quiz się rozpocznie!
''')
print(
'''
Jakie mięso najczęściej pojawiało się na chłopskim stole?
a. Dziczyzna
b. Wieprzowina
c. Mięso drobiowe
''')
odpowiedz1 = input('Wprowadź swoją odpowiedź (a, b, c): ')
if odpowiedz1 == 'b':
punkty += 1
else:
punkty -= 0.5
print(
'''
Które przyprawy były dostępne dla chłopów?
a. Szafran i gałka muszkatołowa
b. Pieprz i cynamon
c. Sól i czosnek
''')
odpowiedz2 = input('Wprowadź swoją odpowiedź (a, b, c): ')
if odpowiedz2 == 'c':
punkty += 1
else:
punkty -= 0.5
print("""
Najczęstszy napój chłopów w średniowieczu:
a) Piwo
b) Miód pitny
c) Herbata
""")
odpowiedz3 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz3 =="a":
punkty+=1
else:
punkty-=0.5
print("""
Który król Polski słynął z zamiłowania do egzotycznych przypraw, takich jak szafran i cynamon?
a) Jan III Sobieski
b) Zygmunt Stary
c) Zygmunt III Waza
""")
odpowiedz4 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz4 =="c":
punkty+=1
else:
punkty-=0.5
print("""
Jaki był popularny sposób konserwacji żywności?
a) Kiszenie
b) Chłodzenie
c) Solenie
""")
odpowiedz5 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz5 =="c":
punkty+=1
else:
punkty-=0.5
print("""
Jakie mięso było najczęściej spożywane przez szlachtę?
a) Perliczka
b) Dziczyzna
c) Wołowina
""")
odpowiedz6 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz6 =="b":
punkty+=1
else:
punkty-=0.5
print(
"""
Co było głównym źródłem białka w diecie chłopskiej?
a. Rośliny strączkowe
b. Kefir
c. Jajka
"""
)
odpowiedz7 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz7 == "a":
punkty += 1
else:
punkty -= 0.5
print(
"""
Jakie owoce były często podawane na stołach szlacheckich?
a. Winogrona i figi
b. Jabłka i gruszki
c. Pomarańcze i cytryny
"""
)
odpowiedz8 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz8 == "a":
punkty += 1
else:
punkty -= 0.5
print(
"""
Jakie pieczywo było najczęściej spożywane przez szlachtę?
a. Chleb żytni
b. Chleb owsiany
c. Biały chleb pszenny
"""
)
odpowiedz9 = input("Wprowadź swoją odpowiedź (a, b, c): ")
if odpowiedz9 == "c":
punkty += 1
else:
punkty -= 0.5
print(
"""
Który król Polski sprowadził do kraju włoskich kucharzy, aby wzbogacić królewską kuchnię?
a. Kazimierz Wielki
b. Zygmunt Stary
c. Władysław Łokietek
"""
)
odpowiedz10 = input('Wprowadź swoją odpowiedź (a, b, c): ')
if odpowiedz10 == "b":
punkty += 1
else:
punkty -= 0.5
print('Twój wynik to:', punkty)
if punkty == 10:
print('Wielce Czcigodny, Przyprawą Prowadzony, Bohaterze Quizów i Cesarzu Kulinarnej Prawdy! Twoje podniebienie zna granice tylko po to, by je przekraczać!' )
elif punkty == 9:
print ('Arcymistrzu Kuchennych Tajemnic! Piekarniki mrugają do Ciebie z uznaniem, a lodówki same się otwierają!')
elif punkty == 8:
print('Pierwszy Chochlohrabio Sosów Gęstych! Chochla w dłoń — niech kuchenne imperium kwitnie!')
elif 6 < punkty < 8:
print('Saluty dla Rycerza Kuchennego Królestwa Cebuli i Smalcu! Smakowitej służby i niech aromaty będą z Tobą!')
elif 4 < punkty < 6:
print('Czeladniku Patelni Spalonej Jajecznicy! Niech Twoja umiarkowana ręka w kuchni zbliża się do mistrzostwa!')
else:
print ('Ostatni Włościaninie Zupy Zbyt Słonej! Niech Twoje mierne umiejętności prowadzą Cię przez smakowe wzgórza i doliny…')
📦 Struktury danych czyli jak przechowujemy dane?
💌 Listy i Krotki
- każdy element ma swój indeks
- oba mogą posiadać duplikaty
- w obu wypadkach można się przemieszczać (literate) po ich elementach
ALE
- listy są modyfikowalne (mutable), a krotki nie
- listy są jak książki na półce, krotki jak kategorie menu w restauracji
- w listach, raczej unika się sięgania po elementy umieszczone gdzieś w środku listy, w krotkach, długość jest stała więc częściej sięgamy po elementy znajdujące się głęboko w nich
📋 Listy [list] - nawiasy kwadratowe
moje_ksiazki = ['Hobbit', 'Harry Poter', 'Alicja w Krainie Czarów']
🔒 Krotki (tuple) - nawiasy okrągłe
kategorie_menu = ('przystawki', 'zupy', 'dania głowne', 'desery')
🔢 Indeks to pozycja elementu w kolekcji. W Pythonie indeksowanie zaczyna się od 0!
🔙 Indeksowanie od końca
owoce = ["jabłko", "banan", "gruszka"]
print(owoce[-1]) # "gruszka"
✂️ Slicing – wycinanie fragmentów
liczby = [10, 20, 30, 40, 50]
print(liczby[:3]) # [10, 20, 30] - zatrzymaj się przed indeks nr 3
🧠 Metoda to funkcja "przywiązana" do danego obiektu
📏 Funkcja len() zwraca liczbę elementów w obiekcie
📘 Słownik w Pythonie to struktura danych, która przechowuje informacje w formie par: klucz → wartość
- Klucze są niepowtarzalne i muszą być typami niemodyfikowalnymi
- Wartości mogą być dowolnymi obiektami — liczby, teksty, listy, inne słowniki
slownik = {"klucz1": "wartość1", "klucz2": "wartość2"}
🧮 Zbiory (ang. sets) to struktura danych, która przechowuje unikalne, nieuporządkowane elementy i nie posiada duplikatów wartości
- Są nieuporządkowane — brak gwarancji kolejności elementów —> nie mają indeksów ‼️
literki = {"a", "b", "c", "a"} # "a" pojawi się tylko raz
🏠Praca domowa 2
kwestionariusz= {
"Które przyprawy były dostępne dla chłopów?": [
("Szafran i gałka muszkatołowa", -0,5),
("Pieprz i cynamon", -0.5),
("Sól i czosnek", 1)
],
"Najczęstszy napój chłopów w średniowieczu:": [
("Piwo", 1),
("Miód pitny", -0,5),
("Herbata", -0,5)
],
"Jaki był popularny sposób konserwacji żywności?": [
("Kiszenie", -0,5),
("Chłodzenie", -0.5),
("Solenie", 1)
]
}
pytanie = input("Podaj pytanie: ")
odp1 = input("Odpowiedź 1: ")
pkt1 = float(input("Ile punktów za odp1? "))
odp2 = input("Odpowiedź 2: ")
pkt2 = float(input("Ile punktów za odp2? "))
odp3 = input("Odpowiedź 3: ")
pkt3 = float(input("Ile punktów za odp3? "))
kwestionariusz[pytanie] = [(odp1, pkt1), (odp2, pkt2), (odp3, pkt2)]
print(kwestionariusz)