Lekcja 3 - Eliza S -Operatory porównania / instrukcje warunkowe

Lekcja 3 - Eliza S -Operatory porównania / instrukcje warunkowe
Photo by Nguyen Dang Hoang Nhu / Unsplash


program do sprawdzania hasła:

while True:
    haslo = input("Wprowadz haslo: ")
    haslo_male = haslo.lower()
    haslo_duze = haslo.upper()
    if len(haslo) < 12:
        print("Slabe haslo.")
    elif haslo_male == haslo or haslo_duze == haslo:
        print("Slabe haslo.")
    else:
        print("Haslo jest silne.")

program do przeprowadzenia testu:

print("Witaj w tescie wiedzy. Za chwile kolejno wyswietla sie pytania, tylko jedna odpowiedz jest poprawna. Wprowadz ja.")
print("1.Ktora z ponizszych metod zabezpieczenia 2FA uznawana jest za najbezpieczniejsza: \n a. SMS \n b. kod z aplikacji (TOTP) \n c. klucz sprzetowy")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "c"
punkty = 0
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("2.Który z poniższych języków programowania uznany został za najpopularniejszych wg rankingu Tiobe 2023? \n a. Cobol \n b. Python \n c. Pascal")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "b"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("3.Skrót Iot oznacza: \n a. Internet of Things (Internet rzeczy) \n b. Instrument of Technology \n c. Informacje o Technologii")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "a"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("4.Czy kod w Pythonie wymaga ręcznej kompilacji dla każdego z systemów operacyjnych? \n a. Tak \n b. Nie")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "b"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("5.VsCode to: \n a. edytor tekstu / kodu \n b. przeglądarka internetowa \n c. program do grafiki wektorowej")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "a"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("6.PC oznacza: \n a. Personal Computer (komputer osobisty) \n b. Professional Computing \n c. Physical Clock")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "a"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("7.Internet używa następującej grupy protokołów \n a. BProto \n b. TCP/IP \n c. I2C")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "b"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("8.Czy język Python można wykorzystać w Excelu? \n a. Tak \n b. Nie")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "a"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("9.Deklarując zmienną w Pythonie do przypisania wartości używamy: \n a. == \n b. = \n c. ?=")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "b"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print("10.Czy ciągi znaków (string) możemy w Pythonie bezpośrednio modyfikować? \n a. Tak \n b. Nie")
pytanie = input("Wprowadz swoja odpowiedz: ")
odpowiedz_prawidlowa = "b"
if pytanie == odpowiedz_prawidlowa:
    print("Odpowiedz jest prawidlowa. Dostajesz 1 punkt.")
    punkty = punkty + 1
else:
    print("Odpowiedz jest nieprawidlowa. Nie dostajesz punktu.")
print(f"Koniec testu. Twoja liczba punktów wynosi {punkty}/10.")

Operatory porównań:

== równe

!= nierówne

większe >

większe lub równe >=

mniejsze <

mniejsze lub równe <=

Instrukcje warunkowe:

if - jeżeli...

elif - a jeżeli...

else - w przeciwnym wypadku...

Pilnować wcięć!
Dlaczego nie 3x if? Bo warunki zapisane w ten sposób są wolniej przetwarzane przez komputer.
CTRL + / + zaznaczony tekst -> kod zamienia się w komentarz
Ciągi tekstowe też możemy ze sobą porównywać. Program sprawdza liczbę ciągu znaków w UNICODE albo ASCII i na tej podstawie porównuje string(i), np. "pies" == "kot" daje False, ale już "pies" == "pies" daje True

Poznane funkcje:

len() - mierzy długość ciągu tekstowego, np.

moj_tekst = "jakis tekst"

len(moj_tekst)

>>>11

pamiętać, że spacja też jest znakiem

Metody:

.lower() - zmiana wszystkich znaków w ciągu na małe litery

.upper() - zmiana wszystkich znaków w ciągu na duże litery

Dane wyrażenie jest prawdziwe, jeśli jeden z następujących warunków jest spełniony:

  1. Wartość logiczna "True" jest przypisywana do zmiennej lub jest wynikiem porównania arytmetycznego.
  2. Kiedy przypisany do zmiennej obiekt nie jest "pusty".

Tutaj jest kilka przykładowych obiektów postrzeganych jako puste:

  1. Pusty napis: ""
  2. Pusta tablica (lista): []
  3. Liczba zero: 0
  4. Zmienna logiczna zawierająca False: False