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