Rozdział 9 · Słuchaj mojego rozkazu!
Jakie są różnice = oraz ==i jak porównywać struny
Jednym z najczęstszych błędów początkujących jest to, jak linie z rozdziału 8 są zaangażowane w warunki.
= — to nie to samo, co ==
Ta część zasługuje na szczególną uwagę – pomyłka między pojedynczym a podwójnym „równi”
Dwóch różnych operatorów: = oraz ==
= (jedna cyfra) - PRZYDZIAŁ
name = "Anna"
# sens: powiązać nazwę name
# z wartością „Anna”
# Nic się nie równa!
== (dwie cyfry) - PORÓWNANIE
name == "Anna"
#meaning: Czy wartości są równe?
# wynik to True lub False,
# zmienna sam się nie zmienia
Co używać dzisiaj: Pomylić
= oraz == jest jednym z najczęstszych błędów popełnianych przez początkujących w każdym języku programowania. Jeśli if przypadkowo napisać singla =, Python od razu zgłosi błąd składni — przypisania nie można używać jako warunku, więc ten konkretny błąd, na szczęście, nie przechodzi niezauważony.!= — „nie równy”
!= — operator odwrotny ==:
ne_ravno.py
password = ""
print(password != "") #False – hasło jest po prostu puste
password = "secret123"
print(password != "") #True – Hasło NIE jest puste
Dlaczego != a nie ≠
W matematyce „nie równa się” zapisuje się jednym znakiem — ≠. Na klawiaturze nie ma takiej ikony, a Python (jak C, Java JavaScript prawie wszystkie języki programowania) nie rozumie jej jako kodu — musisz zapisać dokładnie dwa zwykłe symbole w rzędzie: wykrzyknik i znak równości,
!=. Są to dwa różne, ale równoważne określenia tej samej idei: ≠ jest zapisem dla osoby na papierze, != jest wpisem dotyczącym Python. If w kodzie na tej stronie != wygląda jak pojedyncza przekreślona ikona — to po prostu cecha czcionki edytora (ligatury), która jest piękna ekspozycje dwóch postaci obok siebie; nadal musisz pisać ! oraz = osobno — nie musisz szukać osobnej „ikony ≠”Porównanie stringów
Widzieliśmy w rozdziale 8: struny są porównywane przez postacie, a przypadek jest ważny:
sravnenie_strok.py
print("Python" == "python") #False – Sprawa jest ważna
print("cat" < "dog") # True
"cat" < "dog" nie jest do końca "alfabetycznie"
Python porównuje linie przez pozycje kodów znaków, a nie według „ludzkiego” alfabetycznego porządku słownika. Dla zwykłych liter łacińskich w jednej wielkości rezultat zwykle pokrywa się z intuicją, ale przy mieszaniu wielkości liter lub różnych alfabetów nie zawsze jest to „porządek alfabetyczny”
TROCHĘ GŁĘBIEJ JEST KOD SYMBOLU
Każdy znak odpowiada liczbie — swojemu kodowi. Funkcja
ord() to pokazuje: ord("A") → 65, ord("a") → 97. To są liczby Python faktycznie porównuje. W tym rozdziale nie musisz znać dokładnych liczb — ważne jest tylko, by zrozumieć, że porównanie łańcuch znaków działa przez nie, a nie przez słownik.Normalizacja przed porównaniem
Użytkownik może wpisywać "Tak", "TAK", "Tak" – z różnymi skrzynkami i spacjami. Metody wersy z rozdziału 8 rozwiązują ten problem jednym zdaniem:
normalizaciya.py
answer = input(„Kontynuować?”).strip().lower()
if answer == „tak”:
print(„Kontynuujemy”)
.strip() usuwa przypadkowe szczeliny na krawędziach,
.lower() małymi literami — nie ma znaczenia jak
To użytkownik wpisał odpowiedź.
Praktyka: == vs. =, != i porównanie łańcuch znaków
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji