Warunki i porównania

Operatory
== równe
!= różne
> większe
>= większe lub równe
< mniejsze
<= mniejsze lub równe
Operatory logiczne
and - wszystko musi być spełnione
or - przynajmniej jeden warunek musi być spełniony
not - odwraca wynik
Instrukcje warunkowe
if - (jeżeli) sprawdza czy warunek jest wypełniony
elif - następne warunki po if
else - to co nie spełniło warunków
if A > B:
zrob_cos(1)
elif A==B:
zrob_cos(2)
else:
zrob_cos(3)
Warunki w przykładzie powyżej są wykonywane po kolei. Jeżeli pierwszy warunek zostanie spełnione następne nie będą sprawdzane.
if A>B:
zrob_cos
if A==B:
zrob_cos
if A<B:
zrob_cos
W przykładzie powyżej wszystkie warunki będą sprawdzane.
Porównywanie tekstów
"boa"<"pyton"
ord('b')
ord('p')
To porównanie zwróci True, ponieważ python porównuje wartość przypisane pierwszym literą i to je porównuje. W tym przypadku za pomocą komendy ord sprawdzamy, że b = 98, p=112 więc b<p.
Jeżeli pierwsze litery byłyby takie same, python porównywałby następne (od lewej do prawej) aż będą różne i wtedy je porówna.
Warunek - wyraz
waz = "Pyton królewski"
if waz:
print("Maz węża!")
Tak konstrukcja zadziała, ponieważ zmienna nie przechowuje "pustej" wartość. "Niepuste" wartości nie będące liczbą zero są traktowane jako True. Liczba 0 i puste elementy to False.
String - metody
print(nazwa_zmienej.upper()) - zmienia na duże litery
print(nazwa_zmienej.lower()) - zmienia na małe litery
Zadanie - quiz
punkty=0
print("""
Tylko jedna odpowiedź w każdym pytaniu jest poprawna.
Złą opowiedz odejmuje 0.5pkt
""")
print("""
1. Jak węże "czują" zapachy?
a) Nie czują
b) Nosem
c) Językiem
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="c":
punkty+=1
else:
punkty-=0.5
print("""
2. Jaki wąż jest najdłuższy?
a) Pyton siatkowy
b) Kobra
c) Pyton królewski
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="a":
punkty+=1
else:
punkty-=0.5
print("""
3. Jaki wąż jest uznawany za największego?
a) Pyton siatkowy
b) Anakonda zielona
c) Kobra królewska
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="b":
punkty+=1
else:
punkty-=0.5
print("""
4. Ile powiek mają węże?
a) Jedną
b) Dwie
c) Nie mają powiek
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="c":
punkty+=1
else:
punkty-=0.5
print("""
5. Jak węże odbierają dźwięki?
a) Mają uszy zewnętrzne jak ssaki
b) Nie słyszą w ogóle
c) Odbierają wibracje przez ciało i ucho wewnętrzne
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="c":
punkty+=1
else:
punkty-=0.5
print("""
6. Dlaczego czarna mamba nazywa się "czarna"?
a) Bo ma całe czarne ciało
b) Bo wnętrze jej paszczy jest czarne
c) Bo to kolor jej jadu
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="b":
punkty+=1
else:
punkty-=0.5
print("""
7. Jak węże są w stanie połknąć zdobycz w całość?
a) Ich szczęki są zbudowane z elastycznych więzadeł, które pozwalają im się rozszerzać
b) Potrafią "wyłamać" swoją szczękę, by zrobić więcej miejsca
c) Ich szczęki są bardzo siline
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="a":
punkty+=1
else:
punkty-=0.5
print("""
8. Co robi pyton królewski, gdy czuje się zagrożony?
a) Syczy głośno i atakuje natychmiast
b) Zwija się w kulkę, chowając głowę w środku
c) Zrzuca skórę, żeby zmylić przeciwnika
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="b":
punkty+=1
else:
punkty-=0.5
print("""
9. Co robi heterodon, gdy czuje się zagrożony?
a) Syczy i udaje, że atakuje, a jeśli to nie działa udaje martwego
b) Atakuje, aż odstraszy zagrożenie
c) Skacze w kierunku napastnika
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="a":
punkty+=1
else:
punkty-=0.5
print("""
10. Po co wielu wężom intensywne lub kontrastowe ubarwienie?
a) Aby przyciągać partnera
b) Aby odstraszać drapieżniki, sygnalizując, że są jadowite
c) Aby wtopić się w tło
""")
odpowiedz = input("Wprowadz swoja odp. (a/b/c): ")
if odpowiedz =="b":
punkty+=1
else:
punkty-=0.5
print(f"Twój wynik to: {punkty}")