Python - zajęcia 3
Porównania
"==" - równe?
x == y
"!=" - nierówne?
x != y
">" - większe?
x > y
">=" - większe lub równe?
x >= y
"<" - mniejsze?
x < y
"<=" - mniejsze lub równe?
x <= y
Uwaga
znak "=" służy do nadania wartości
znak "==" to znak równości

Operatory logiczne
and - Jeżeli jeden z parametrów będzie fałszem to "and" zwróci nam fałsz.
or - Jeżeli jeden z parametrów będzie prawdą to "or" zwróci nam prawdę.
not - Odwróci nam wartość logiczną (przykładowo fałsz zmieni w prawdę).
Kolejność
NOT, AND, OR
Warunki
Posiadając odpowiedź na porównanie tak/nie (true/false) - możemy podjąć co zrobić jeżeli tak (if).
Możemy też podjąć jakąś decyzję jeśli inny warunek jest spełniony (elif), lub jeżli żaden nie został spełniony (else)
Trzeba pamiętać o wcięciach - decydują one o tym co python wykona po podjęciu decyzji.
print("Ile to jest 2 + 2")
odp = input ("napisz odpowiedź: ")
if odp == "4":
print("Dobrze")
elif odp == "22":
print ("wtf, źle")
else:
print("żle")
Niby można używać samego if - dla użytkownika nie byłoby różnicy ale dla komputera wymaga to wykonania każdego z porównań niezależnie od wyniku poprzedniego. Korzystając z elif/else porównania wykonują sie do uzyskania poprawnej odpowiedzi (true).
Kalkulator BMI
waga = float(input("Podaj swoją wagę (kg): "))
wzrost = float(input("Podaj swój wzrost (m): "))
bmi = waga/(wzrost**2)
print ("Twoje BMI wynosi", (bmi) )
if bmi < 16:
print("wygłodzenie")
elif bmi <= 16.9 and bmi >= 16:
print ("wychudzenie")
elif bmi <= 18.4 and bmi >= 17:
print ("niedowaga")
elif bmi <= 24.9 and bmi >= 18.5:
print ("waga prawidłowa")
elif bmi <= 29.9 and bmi >= 25:
print ("nadwaga")
elif bmi <= 34.9 and bmi >= 30:
print ("I stopień otyłości")
elif bmi <= 39.9 and bmi >= 35:
print ("II stopień otyłości")
else:
print ("III stopień otyłości")
Kwestionariusz
pkt = 0
print ("Podaj stolice Polski: \na) Kabul \nb) Warszawa \nc) Watykan")
Odp = input("Twoja Odpowiedź (a, b lub c): ")
if Odp == "b":
pkt += 2
print("\nBrawo! Prawidłowa odpowiedź")
elif Odp == "a":
pkt -= 1
print("\n... Umiesz programować a nie znasz stolicy Polski?")
elif Odp == "c":
pkt -= 1
print("\n... Umiesz programować a nie znasz stolicy Polski?")
else:
print("\nMiało być a b lub c, cymbale")
print ("\nPodaj stolice Słowenii: \na) Lublana \nb) Bratysława \nc) Balgadowkazik")
Odp1 = input("Twoja odpowiedź (a, b lub c): ")
if Odp1 == "a":
pkt += 2
print("\nBravo ti! To je pravilen odgovor")
elif Odp1 == "b":
pkt -= 1
print("\nŹlee! to stolica Słowacji")
elif Odp1 == "c":
pkt -= 1
print("\nTy bałwanie, takie miasto nawet nie istnieje")
else:
print("\nMiało być a b lub c, cymbale")
print ("\nPodaj stolice Singapuru: \na) Singapur \nb) Sengang \nc) Belgrad")
Odp2 = input("Twoja Odpowiedź (a, b lub c): ")
if Odp2 == "a":
pkt += 2
print("\nDobrze!")
elif Odp2 == "b":
pkt -= 1
print("\nŹle ale to jest miasto znajdujące się w Singapurze")
elif Odp2 == "c":
pkt -= 1
print("\nŹle ale to jest miasto znajdujące się w Singapurze")
else:
print("\nMiało być a b lub c, cymbale")
print ("\nPodaj stolice Kongo: \na) Wakanda \nb) Akra \nc) Brazzaville")
Odp3 = input("Twoja Odpowiedź (a, b lub c): ")
if Odp3 == "a":
pkt -= 1
print("\nWAKANDA FOREVER! Ale to zła odpowiedź")
elif Odp3 == "b":
pkt -= 1
print("\nHehe, Arka Gdynia.. - zła odpowiedź i zostałxś pobitx przez kiboli")
elif Odp3 == "c":
pkt += 2
print("\nDOBRZE! To było trudne")
else:
print("\nMiało być a b lub c, cymbale")
print("\n")
print ("Twój wynik to: ", pkt)
if pkt <= 2:
print ("Słabiutko")
elif pkt <= 4:
print ("Dobrze, ale mogło być lepiej")
elif pkt <= 6:
print("Super!")
else:
print("8/8 BRAWO")
UWAGI
- losowanie
import.random
- losowy int
rand.int
import random
walka_wrecz_gracza = 5
obrazenia_gracza = 7
rzut_koscia = random.randint(1,20)
pancerz_przeciwnika = 10
punkty_zycia_przeciwnika = 5
if walka_wrecz_gracza + rzut_koscia > pancerz_przeciwnika and rzut_koscia > 1:
print("Trafiony! Zadano obrazenie przeciwkowi.")
punkty_zycia_przeciwnika -= obrazenia_gracza
if punkty_zycia_przeciwnika <=0:
print ("Przeciwnik padł")
elif rzut_koscia == 1:
print("Krytyczne pudło! Tracisz turę.")