Utilizați operatorul modulo (%) pentru a testa restul unui număr atunci când este împărțit la 2. Un rest de 0 înseamnă par; altfel, e ciudat. Mai jos sunt opțiuni practice pentru numere și colecții unice, plus note privind cazurile marginale.
Metoda 1: Folosiți operatorul modulo (%)
De ce funcționează:Paritatea este definită prin divizibilitate cu 2.n % 2evaluează să0pentru numere întregi pare și1pentru numere întregi impare.
Pasul 1:Definiți o funcție care returnează „Par” sau „Impar” folosind restul.
def check_odd_even(n: int) -> str:
return "Even" if n % 2 == 0 else "Odd"Pasul 2:Apelați funcția cu valori eșantion pentru a verifica comportamentul.
print(check_odd_even(2)) # Even
print(check_odd_even(7)) # Odd
print(check_odd_even(0)) # Even
print(check_odd_even(-3)) # OddPasul 3:Acceptați intrarea utilizatorului și convertiți-o într-un număr întreg înainte de a verifica.
num = int(input("Enter an integer: "))
print(check_odd_even(num))Sfat: zero este egal. Numerele întregi negative urmează aceleași reguli de paritate ca și numerele întregi pozitive.
Metoda 2: Folosiți AND pe biți cu 1
De ce funcționează:Cel mai puțin semnificativ bit (LSB) al unui întreg este1pentru numere impare și0pentru numere pare. Puteți citi acel bit folosind AND (&).
Pasul 1:Testați bitul cel mai puțin semnificativ pentru a determina paritatea.
def is_even(n: int) -> bool:
return (n & 1) == 0
print("Even" if is_even(24) else "Odd") # Even
print("Even" if is_even(7) else "Odd") # OddNotă: Verificările pe biți sunt pentru numere întregi. Dacă primiți flotoare, convertiți cuint()numai atunci când are sens să trunchiați sau să validăm mai întâi tipul de intrare.
Metoda 3: Verificați paritatea într-o listă sau tuplu
De ce ajută acest lucru:La scanarea unei colecții, evaluarea scurtcircuitului evită lucrările inutile. Any() încorporat revine imediat ce este găsită o valoare True.
Pasul 1:Detectați dacă vreo valoare este impară folosind o expresie generatoare.
nums = [1, 2, 3, 4, 5]
has_odd = any(n % 2 == 1 for n in nums)
print(has_odd) # TruePasul 2:Verificați dacă toate valorile sunt egaleall().
all_even = all(n % 2 == 0 for n in nums)
print(all_even) # FalsePasul 3:Etichetați fiecare element ca Impar/Par. Utilizarea hărții returnează un iterator, care poate fi prietenos cu memoria pentru intrări mari.
labels = map(lambda n: f"{n} {'Even' if n % 2 == 0 else 'Odd'}", nums)
print("n".join(labels))
# 1 Odd
# 2 Even
# 3 Odd
# 4 Even
# 5 OddCapcane și sfaturi comune:
- Paritatea se aplică numerelor întregi. Decideți cum să gestionați numerele care nu sunt întregi (respingeți sau convertiți) înainte de a verifica.
- Pentru o lizibilitate simplă, preferați
n % 2. Pentru verificări de paritate la nivel scăzut pe numere întregi,n & 1este de asemenea valabil. - Utilizați expresii generatoare cu
any()sauall()pentru a scurtcircuita scanările peste iterabile mari.
Acesta este tot ceea ce aveți nevoie pentru a determina rapid paritatea în Python% 2pentru claritate sau utilizare& 1pentru o verificare la nivel de biți și sprijină-te peany()/all()pentru a scana eficient colecțiile.
Citește și:Cum să răzuiți joburi Google cu Python și API-uri














