Lekcja 3 - Instrukcje warunkowe KP

Lekcja 3 - Instrukcje warunkowe KP
Photo by Kara Eads / Unsplash

Konstrukcja instrukcji warunkowej - używamy do podejmowania decyzji:

If warunek:

   Polecenie jeśli prawda

elif warunek2 :

  Polecenie jeśli prawda

else:

  Polecenie co ma się stać jeśli żadne z powyższych nie są prawdą

 

Ważne: wcięcia w poleceniu instrukcji if. Jeżeli nie użyjemy polecenie wypadnie z instrukcji warunkowej

Program leci po if, elif aż natrafi na prawdę, w tym momencie wykonuje warunek i przerywa działanie. Idzie do dalszej części kodu

 

Prawie prawda:

If rybka
  print ("masz rybke")

Wynikiem powyższego programu będzie napis "masz rybke" 

Python sprawdza czy zmienna jest pusta. W związku z tym, że nie jest pusta to wychodzi prawda i działanie zostało wykonane

Jeśli nie porównujemy nic w instrukcji if to pytamy czy zmienna jest pusta

Przykładowe programy:

  1. Sprawdzenie czy liczba parzysta
liczba = int(input("Wprowadz liczbe calkowita: "))
m = liczba%2 

if m != 0:
    print("Liczba jest nieparzysta")
else:
    print("Liczba jest parzysta")
print(f"reszta z dzielenia cyfry {liczba} przez 2 wynosi {m}")
  1. Sprawdzenie poprawności hasła - małe i duże litery, 12 znaków
# dlugosc min 12 znakow len()
# duze i male litery zmienna.lower() zmienna.upper()

haslo = input("Wprowadz swoje haslo: ")

haslo_wielkie = haslo.upper()
haslo_male = haslo.lower()

if len(haslo) >= 12:
    if haslo_wielkie == haslo or haslo_male == haslo:
        print("Twoje haslo jest za slabe. Ma prawidlowa dlugosc, ale nie ma malych i duzych liter")
    else:
        print ("Twoje haslo jest prawidlowe")
else:
    if haslo_wielkie == haslo or haslo_male == haslo:
        print("Twoje haslo jest za slabe. Powinno miec 12 znakow oraz male i duze litery")
    else:
        print("Twoje jest za krotkie. Wydluz je pozoostawiajc male i duze litery")

  1. Quiz
#pytania ankiety
print("\nAnkieta ma 5 pytań jednokrotnego wyboru. Prosze podawac odpowiedz na pytanie litera podpunktu. Po ukonczonym tescie zostanie wyswietlona ilosc punktow")
print("\n1.Która z poniższych metod zabezpieczenia 2FA uznawana jest za najbezpieczniejszą?\na. SMS\nb. kod z aplikacji (TOTP)\nc. klucz sprzętowy")
z1 = input("Odpowiedz: ")
print("2. Który z poniższych języków programowania uznany został za najpopularniejszych wg . rankingu Tiobe 2023?\fna. Cobol\nb. Python\nc. Pascal")
z2 = input("Odpowiedz: ")
print("3. Skrót Iot oznacza:\na. Internet of Things (Internet Rzeczy)\nb. Instrument of Technology\nc. Informacje o Technologii")
z3 = input("Odpowiedz: ")
print("4. Czy kod w Pythonie wymaga ręcznej kompilacji dla każdego z systemów operacyjnych?\na. Tak\nb. Nie")
z4 = input("Odpowiedz: ")
print("5. VsCode to:\na. edytor tekstu / kodu\nb. przeglądarka internetowa\nc. program do grafiki wektorowej")
z5 = input("Odpowiedz: ")

#sprawdzenie poprawnosci odpowiedzi
if z1.lower() == "c":
    p1 = 1 
else:
    p1 = 0
if z2.lower() == "b":
    p2 = 1
else:
    p2 = 0
if z3.lower() == "a":
    p3 = 1
else:
    p3 = 0
if z4.lower() == "b":
    p4 = 1
else:
    p4 = 0
if z5.lower() == "a":
    p5 = 1
else:
    p5 = 0

#zlicznie punktow
p = p1 + p2 + p3 + p4 + p5
print(f"\nTowje punkty: {p}")

#wykazanie pytan z nie prawidlowa odpowiedzia
print("Nie prawidlowo odpowiedziales na pytania:")
if z1.lower() != "c":
    print("1")
if z2.lower() != "b":
    print("2")
if z3.lower() != "a":
    print("3")
if z4.lower() != "b":
    print("4")
if z5.lower() != "a":
    print("5")