4212 - Inc Cif Pare
De la Universitas MediaWiki
Cerinţa
Să se scrie un program care citește un număr natural n și care crește cu 1 valoarea cifrelor pare. De exemplu, dacă n=1234 atunci se va obține numărul 1335, iar dacă n=135 atunci numărul rămâne neschimbat.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieşire
Programul va afișa pe ecran numărul obținut prin creșterea cu 1 a cifrelor pare ale lui n.
Restricții și precizări
- 0 ⩽ n ⩽ 1.000.000.000
Exemplul 1
- Intrare
- 1234
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 1335
Exemplul 2
- Intrare
- 13n2
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
# 4212 Inc Cif Pare
# Definim funcția de verificare a valorii n
def verificare(n_val):
# Verificăm dacă n respectă restricțiile problemei
if 0 <= n_val <= 1000000000:
# Dacă valoarea este validă, returnăm valoarea
return n_val
else:
# Dacă valoarea nu este validă, ridicăm o excepție
raise ValueError
def cifre_pare(numar):
# Convertim numărul la string pentru a putea itera prin cifre
numar = str(numar)
rezultat = ''
for cifra in numar:
# Verificăm dacă cifra este pară
if int(cifra) % 2 == 0:
# Dacă cifra este pară, o creștem cu 1 și o adăugăm la rezultat
rezultat += str(int(cifra) + 1)
else:
# Dacă cifra este impară, o adăugăm la rezultat
rezultat += cifra
# Convertim rezultatul înapoi în număr și îl returnăm
return int(rezultat)
# Verificăm dacă acest script este rulat direct
if __name__ == "__main__":
try:
# Citim numărul de la utilizator
n = input("Introduceti un numar: ")
# Validăm numărul
n = verificare(int(n))
# Dacă numărul este valid, rezolvăm problema
print("Datele introduse corespund restricțiilor impuse.")
print(cifre_pare(n))
except ValueError:
# Dacă numărul nu este valid, afișăm un mesaj de eroare
print("Datele introduse nu corespund restricțiilor impuse.")
except Exception as e:
# Dacă se produce o excepție, o afișăm
print(str(e))