3933 - Zero Unu
Cerinţa
Se dă un număr natural n. Să se verifice dacă n conține cel puțin o cifră de 1, cel puțin o cifră 0 și nu conține alte cifre.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul va afișa pe ecran mesajul da dacă n conține numai cifre de 0 și 1 (cel puțin una din fiecare), sau nu în caz contrar.
Restricții și precizări
- 0 ≤ n ≤ 2.000.000.000
Exemplu 1
- Intrare
- 11011
- Ieșire
- da
Exemplu 2
- Intrare
- 161011
- Ieșire
- nu
Exemplu 3
- Intrare
- 111
- Ieșire
- nu
Rezolvare
<syntaxhighlight lang="python" line>
- Citim numarul de la utilizator
n = int(input("Introduceti un numar natural: "))
- Verificam daca numarul este un numar natural si contine doar cifre
if n < 0 or not str(n).isdigit():
print("Numarul introdus nu este valid.")
else:
# Inițializăm două variabile pentru a verifica dacă n conține cifrele 0 și 1 has_zero = False has_one = False
# Parcurgem cifrele lui n, verificand daca exista cifrele 0 si 1 si nicio alta cifra while n > 0: digit = n % 10 # extragem cifra curenta if digit == 0: has_zero = True elif digit == 1: has_one = True else: # Daca cifra curenta nu este 0 sau 1, nu mai e necesar sa verificam restul cifrelor break n //= 10 # eliminam ultima cifra din n
# Verificam daca n indeplineste conditiile cerute if has_zero and has_one and n == 0: print("Numarul indeplineste conditiile date.") else: print("Numarul nu indeplineste conditiile date.")
</syntaxhighlight>