Warunki (if, elif, else) - zajęcia 3

Warunki (if, elif, else) - zajęcia 3
Photo by Jon Tyson / Unsplash

Sprawdzanie danych

"==" znak przyrównania, "!=" znak nierówności, ">";"<" znaki większości; mniejszości

2==2
True

2!=2
False

2!=5
True

2<1
False

2>1
True

Czy działa to na słowach? Tak. W przypadku porównywania słów, komputer przekształca słowa na liczby według wybranego kodu. Najważniejsze tablice kodujące to ASCII oraz Unicode.

Bramki logiczne

Co będzie wynikiem?

  • not 5==5 -> False
  • not 5==5 or 2= =2 -> True
  • (5>4) or (1>2) -> True
  • not 2==2 and (3>4) -> False
  • 5>=2 and not 5!=5 -> True

Funkcje decyzyjne

  • if: sprawdzanie czy warunek jest spełniony
  • elif: warunek użyty dla sytuacji gdy powyższy warunek okaże się nieprawdą
  • else: funkcja do zadania zadania w przypadku niespełnienia ostatniego warunku
x=5
y=5
if x>y:
  print("X jest większy od y")
elif y>x:
  print("Y jest większy od x")
else:
  (print("X jest równy Y")
print("Miłego dnia")

W teorii można użyć wszędzie "if", ale zabiera to wtedy niepotrzebnie pamięć procesora.

Istotne są wcięcia, wcięcia pod linijką z if/elif/else definiują co będzie wykonane w ramach tego polecenia. Linijki bez wcięć zawierają instrukcje niezależne od if/elif/else -> print("Miłego dnia")

f"string: sformatowany string, pozwala na modyfikacje stringów, np. wrzucanie stringa do stringa:

name = 'Mike'
f"Hello {name}"

    'Hello Mike'

Prawie prawda

rybka="Nemo"

if rybka:
  print("Masz rybkę!")

Powyższy kod wyświetli zdanie Masz rybkę!, ponieważ Python traktuje niepustą zmienną jako prawdę (True, 1). W przypadku rybka="", mamy do czynienia z pustym stringiem, który będzie traktowany przez Pythona jako pusty string i wynikiem porównania będzie False.

Sprawdzanie ocen

x = int(input("Ile punktów uzyskałaś/eś w skali 1-100punktów?   "))

if x<55:
    print("Twoja ocena to 1")
elif x<65:
    print("Twoja ocena to 2")
elif x<75:
    print("Twoja ocena to 3")
elif x<85:
    print("Twoja ocena to 4")
elif x<95:
    print("Twoja ocena to 5")
else:
    print("Twoja ocena to 6")

Sprawdzanie hasła

  • len() - sprawdzanie długości stringa len("jakis tekst") -> 11
  • .lower() - zamienia znaki w stringu na małe litery
  • .upper() - zamienia znaki w stringu na duże litery moje_haslo = "jakis tekst" moje_hasło.upper() -> "JAKIS TEKST"

! funkcje .upper()/.lower() nie zmieniają zawartości zmiennej moje_hasło na stałe!

WYMAGANIA DO HASŁA:

  • długość min 12 znaków
  • zarówno duże, jak i małe znaki
haslo=str(input("Wprowadź swoje hasło: "))

if len(haslo)<12:
    print("Złe hasło! Za krótkie")
elif haslo.upper()!= haslo and haslo.lower()!=haslo:
    print("Super!")
else:
    print("Złe hasło! Hasło musi zawierać duże i małe litery")