Python - zajęcia 3

Python - zajęcia 3
Photo by Kevin Ku / Unsplash

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

Przykłady porównań

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ę.")