2696 - CifP cifl

De la Universitas MediaWiki

Cerință

Se dau 2 numere de exact 2 cifre, dacă numerele au aceeași paritate se va afișa numărul total de cifre pare din cele două numere altfel dacă au parităti diferite atunci se afisează numărul total de cifre impare din cele două numere.

Date de intrare

Programul citește de la tastatură 2 numere, separate prin spații.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran numărul de cifre pare/impare conform cerinței.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

  • Numerele a si b au exact 2 cifre

Exemplul 1

Intrare
78 18
Ieșire
Datele de intrare corespund restricțiilor impuse.
2

Rezolvare

Rezolvare ver. 1

def validare(a, b):
    if 10 <= a < 100 and 10 <= b < 100:
        return True
    return False


def paritate(a, b):
    if a % 2 == b % 2:
        rezultat = (a // 10 % 2 == 0) + (a % 2 == 0) + (b // 10 % 2 == 0) + (b % 2 == 0)
    else:
        rezultat = a // 10 % 2 + a % 2 + b // 10 % 2 + b % 2
    return rezultat


if __name__ == "__main__":
    a, b = map(int, input().split())

    if validare(a, b):
        print("Datele de intrare corespund restricțiilor impuse.")
        print(paritate(a, b))
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")

Explicatie

Codul definește două funcții: validare(a, b) și paritate(a, b), care iau ca parametri două numere întregi, a și b.

Funcția validare(a, b) verifică dacă ambele numere sunt între 10 și 99, adică au două cifre. Dacă da, funcția returnează True, altfel returnează False.

Funcția paritate(a, b) verifică dacă cele două numere au aceeași paritate. Dacă da, se calculează și se returnează numărul total de cifre pare în cele două numere. În caz contrar, se calculează și se returnează numărul total de cifre impare.

În blocul if __name__ == "__main__":, se citește de la tastatură două numere separate prin spațiu și se verifică dacă acestea sunt valide folosind funcția validare(a, b). Dacă sunt valide, se calculează și se afișează numărul total de cifre pare/impare conform cerinței folosind funcția paritate(a, b). Dacă nu sunt valide, se afișează un mesaj corespunzător.