🐍Python🐍 - zajęcia 3 + quiz w pythonie

🐍Python🐍 - zajęcia 3 + quiz w pythonie
Photo by David Clode / Unsplash

*czynniki porównania * operatory logiczne * IF & ELIF & ELSE * tekst wielolinijkowy * quizy

Operatory porównania (czynniki porównania)

  • Służą do porównywania dwóch wartości i zawsze zwracają wartość logiczną (True lub False).
OperatorZnaczeniePrzykładWynik
==Równe3 == 3True
!=Różne3 != 4True
>Większe niż5 > 2True
<Mniejsze niż2 < 5True
>=Większe lub równe5 >= 5True
<=Mniejsze lub równe4 <= 6True

ℹ️Uwaga 1:

  • pojedynczy "=" służy tylko do przypisania zmiennych

⚙️ Operatory logiczne

Operator Działanie Przykład
and I (oba warunki muszą być prawdziwe) if wiek >= 18 and kraj == "Polska"
or LUB (wystarczy, że jeden warunek jest prawdziwy) if plec == "kobieta" or plec == "mężczyzna"
not NIE (odwraca wartość logiczną) if not zgoda

ℹ️ Uwaga 2:

  • Porównywać można liczby, ciągi znaków (str), a także inne typy danych (np. listy czy obiekty), choć w przypadku złożonych typów trzeba uważać.
  • W porównaniach tekstów (str) Python bierze pod uwagę wielkość liter

✅ Instrukcja warunkowa if

if pozwala wykonać kod tylko wtedy, gdy spełniony jest określony warunek.

Zasady:

  • Warunek musi zwracać wartość logiczną (True lub False)
  • Może być porównaniem (x > 5) lub inną wartością logiczną.
  • Zawsze zakończ ":" po if, elif, else
  • Wcięcia (indentacja) dla poleceń po if = true są OBOWIĄZKOWE. Zazwyczaj to 4 spacje.
  • Kolejność ma znaczenie – kod wykonuje się tylko przy pierwszym prawdziwym warunku.
  • Można używać operatorów:
    • Porównania: ==, !=, <, >, <=, >=
    • Logicznych: and, or, not
    • Złożonych wyrażeń: if 18 <= wiek <= 65
  • ELIF (jeśli nie to...) i ELSE (w przeciwnym razie)
    • wykonanie tych dwóch warunków, zamiast zastosowania "zwykłych" if-ów, pomaga oszczędzić sporo pamięci (nie wykonują się zbędne operacje)
    • nie piszemy ich po wcięciu, tylko w tej samej linii pionowej co odpowiadający im if
    • 🧠 Kiedy używać elif?
          • Gdy chcesz sprawdzić kolejny warunek, ale tylko wtedy, gdy poprzednie warunki były fałszywe
          • To lepsze niż wiele osobnych if, bo:
                  • Python sprawdza warunki po kolei – jeśli znajdzie pierwszy True, reszty nie sprawdza.
                  • Dzięki elif kod jest czytelniejszy i szybszy.
  • ⚠️ co jest traktowane jako False?
                • None
                • False
                • 0 (liczbowo)
                • "" (pusty string)
                • [], {}, set(), () (puste kolekcje)
Słowo kluczowe Angielski Polskie znaczenie
if "jeśli" gdy pierwszy warunek jest prawdziwy
elif "else if" w przeciwnym razie, jeśli kolejny warunek jest prawdziwy
else "w przeciwnym razie" gdy żaden z powyższych warunków nie był spełniony

Przykład zastosowania:

wiek = int(input("Ile masz lat? "))

if wiek < 18:
    print("Nie możesz brać udziału.")
elif wiek <= 65:
    print("Dziękujemy za udział.")
else:
    print("Ankieta nie dotyczy tej grupy wiekowej.")

ℹ️Uwaga 3:

  • zaznaczenie linijek + shift + TAB -> usunięcie wcięcia (VS Code)
  • zaznaczenie linijek + TAB -> dodanie wcięcia (VS Code)
  • funkcja LEN przed nawiasem - liczy liczbę znaków w nim się znajdujących
  • .upper() lub .lower() - piszemy je po zmiennej, mają na celu ujednolicenie wielkości liter w zmiennej => przydatne jeśli oczekujemy od ankietowanego odpowiedzi małymi literami, a on ma wciśnięty capslock
moj_tekst = "Ala ma kota"
print(moj_tekst.upper()) # wynik: ALA MA KOTA
print(moj_tekst.lower()) # wynik: ala ma kota

📌 Jak pisać tekst wielolinijkowy w Pythonie?

✅ 1. Użyj potrójnych cudzysłowów ''' lub """

Najwygodniejszy i najczęściej stosowany sposób do tworzenia tekstu, który ma zajmować więcej niż jedną linię.

Przykład:

pytanie = """
Jak oceniasz naszą usługę?

Odpowiedz w skali od 1 do 5, gdzie:
1 – bardzo źle
5 – bardzo dobrze
"""

print(pytanie)

🔹 Użycie potrójnych cudzysłowów (""" lub ''') pozwala pisać tak, jakby to był blok tekstu. Wszystkie znaki nowej linii (\n) są dodawane automatycznie.

✅ 2. Możesz użyć \n (znaku nowej linii) w ciągu tekstowym

Jeśli chcesz zapisać tekst w jednej linii kodu, ale mieć kilka linii w wyjściu:

pytanie = "Jak oceniasz naszą usługę?\n1 – bardzo źle\n5 – bardzo dobrze"
print(pytanie)

🔹 \n oznacza: przejdź do nowej linii.

✅3. Łączenie długiego tekstu w wielu wierszach kodu (ale jednej linii tekstu)

Jeśli masz bardzo długi jednoliniowy tekst, możesz go zapisać tak:

pytanie = (
    "Proszę przeczytać wszystkie instrukcje uważnie przed rozpoczęciem wypełniania formularza, "
    "ponieważ pominięcie którejkolwiek części może skutkować odrzuceniem odpowiedzi."
)
print(pytanie)

📌Zadanie domowe

  • ankieta składająca się z 10 pytań
print(
'''
Zapraszam Cię do quizu ze świata zwierząt. Ankieta składa się z 10 pytań, a każde z pytań ma jedną prawidłowa odpowiedź (a, b lub c).
Za prawidłową odpowiedź dostajesz 100 punktów, a za błędną -33 punkty.
Sprawdźmy jak dużo wiesz o świecie zwierząt. 
Zaczynajmy!
Zanim zaczniemy poznajmy się.
'''
)
imie = input("Podaj swoje imię: ")


print(
'''
Pytanie 1. Co niezwykłego jest w odchodach wombatów?
a) Są zielone jak trawa 
b) Mają kształt kostki 
c) Świecą w ciemności
 ''' )

sumaryczne_punkty = 0
bledne_odpowiedzi = 0
prawidlowe_odpowiedzi = 0 

odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "b":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nWombaty robią kwadratowe kupy. \n Masz już {sumaryczne_punkty} punktów")


print(
'''
Pytanie 2. Jak porusza się kangur, kiedy idzie powoli (nie skacze)?
a) Chodzi wyłącznie na tylnych łapach 
b) Chodzi na czterech łapach jak pies
c) Opiera się na ogonie jak na trzeciej nodze
''' 
)

odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "c":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nKandur podpiera się na ogonie. \n Masz już {sumaryczne_punkty} punktów")




print(
'''
Pytanie 3. Ile może żyć rekin arktyczny (grenlandzki)?
a) Ponad 400 lat 
b) Około 150 lat 
c) Do 70 lat"
      '''
      )
odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "a":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nNajstarszy zbadany rekin ma ponad 400 lat!. \n Masz już {sumaryczne_punkty} punktów")



print(
     '''
Pytanie 4.Dlaczego kapibary są często pokazywane w towarzystwie innych zwierząt?
a) Są niezwykle spokojne i towarzyskie
b) Mają zapach, który przyciąga ptaki 
c) Mimo, że są bardzo hałaśliwe, ale lubią dzielić się jedzeniem z innymi gatunkami
        ''')
odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "a":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nSą spokojne i towarzystkie. \n Masz już {sumaryczne_punkty} punktów")



print('''
Pytanie 5. Dlaczego kuoka nazywana jest „najsłodszym zwierzęciem świata”? 
a) Bo wygląda jakby ciągle się uśmiechała
b) Bo ma miękkie futro i fioletowy język
c) Bo daje się głaskać każdemu człowiekowi
'''
      )

odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "a":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \n Kuoka ciągle wygląda jakby się uśmiechała. \n Masz już {sumaryczne_punkty} punktów")



print('''
Pytanie 6. Co pomaga panterze śnieżnej przetrwać w zimnym klimacie?
a) Ma specjalne gruczoły ogrzewające krew
b) Ma bardzo gęste, grube futro i szerokie łapy 
c) Zapada w sen zimowy na 3 miesiące"
       ''' )
odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "b":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nOdpowiedź na pytanie to puchate łapki i ogon. \n Masz już {sumaryczne_punkty} punktów")



print('''
Pytanie 7. Dlaczego alpaki często plują? 
a) Aby wyrazić niezadowolenie lub pokazać dominację
b) Bo mają za dużo śliny
c) Bo to sposób, w jaki się porozumiewają z ludźmi
       ''' )
odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "a":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nAlpaki w ten sposób okazują dominację. \n Masz już {sumaryczne_punkty} punktów")



print(
     '''
Pytanie 8. Co wyróżnia żółwia słoniowego z Galapagos?
a) Potrafi pływać z prędkością 20 km/h
b) Ma miękki pancerz, który zmienia kolor
c) Jest jednym z największych żółwi lądowych na świecie"
       ''')
       
odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "c":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nTe słonie są największe na świecie. \n Masz już {sumaryczne_punkty} punktów")



print('''
Pytanie 9. Jak słonie indyjskie okazują emocje?
a) Przez dotyk, dźwięki i ruchy trąby
b) Przez zmianę koloru skóry
c) Poprzez machanie uszami w różne strony"
        ''')

odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "a":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(f"... <cykanie świerszczy> ... \n... zła odpowiedź ... \nDo okazywania emocji słonie używają trąb. \n Masz już {sumaryczne_punkty} punktów")



print(
'''
Pytanie 10.Ile serc ma ośmiornica?
a) jedno
b) osiem
c) trzy"
''' )

odpowiedz = str(input("Twoja odpowiedź: "))
if odpowiedz == "c":
     sumaryczne_punkty = sumaryczne_punkty + 100
     prawidlowe_odpowiedzi = prawidlowe_odpowiedzi + 1
     print(f"Dobrze {imie}! :)\nMasz już {sumaryczne_punkty} punktów")
else:
     sumaryczne_punkty = sumaryczne_punkty - 33
     bledne_odpowiedzi = bledne_odpowiedzi + 1
     print(
          '''... <cykanie świerszczy> ... \n...zła odpowiedź... \nOśmiornica ma aż 3 serca!. \n Masz już {sumaryczne_punkty} punktów''')



print("\nDziękuję za udział w ankiecie!")
print(f"\nDobra robota {imie}, odpowiedziałeś/łaś prawidłowo {prawidlowe_odpowiedzi} razy, pomyliłeś/łaś się {bledne_odpowiedzi} razy.")
if prawidlowe_odpowiedzi >= 8:
    print(f"Świetny wynik {imie}!")
elif 7 >= prawidlowe_odpowiedzi >= 5:
    print(f"Całkiem nieźle {imie}!.")
else:
     print(f"Ups. Mam nadzieję, że ten quiz był dla Ciebie pouczający. {imie}, może czas odpalić program Sir Davida Attenborough? :).")