Verificați dacă un număr este par sau impar în Python

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))   # Odd

Pasul 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")   # Odd

Notă: 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)  # True

Pasul 2:Verificați dacă toate valorile sunt egaleall().

all_even = all(n % 2 == 0 for n in nums)
print(all_even)  # False

Pasul 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 Odd

Capcane ș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țin % 2. Pentru verificări de paritate la nivel scăzut pe numere întregi,n & 1este de asemenea valabil.
  • Utilizați expresii generatoare cuany()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

Related Posts