0453 - Distincte1

De la Universitas MediaWiki

Cerință

Se citesc de la tastatură trei numere naturale. Să se determine numărul de valori distincte.

Date de intrare

Programul va citi de la tastatură trei numere naturale.

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 valori distincte care apar.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări

  • Numerele citite sunt cuprinse între 0 și 1.000.000.000, inclusiv.

Exemplul 1

Intrare
100 41 100
Ieșire
Datele de intrare corespund restricțiilor impuse.
2

Rezolvare

Rezolvare ver. 1

def validare(numar1, numar2, numar3):
    if 0 <= numar1 <= 1000000000 and 0 <= numar2 <= 1000000000 and 0 <= numar3 <= 1000000000:
        return True
    return False


def distincte(numar1, numar2, numar3):
    if numar1 == numar2 == numar3:
        return 1
    elif numar1 == numar2 or numar1 == numar3 or numar2 == numar3:
        return 2
    else:
        return 3


if __name__ == "__main__":
    numar1, numar2, numar3 = map(int, input().split())
    if validare(numar1, numar2, numar3):
        print("Datele de intrare corespund restricțiilor impuse.")
        print(distincte(numar1, numar2, numar3))
    else:
        print(
            "Datele de intrare nu corespund restricțiilor impuse.")

Explicatie

Acest cod Python definește două funcții, validare și distincte, și le utilizează pentru a verifica dacă trei numere introduse la intrare sunt valide și distincte.

Funcția validare primește trei argumente, numar1, numar2, numar3, și verifică dacă fiecare dintre ele se încadrează în intervalul [0, 1000000000]. Dacă toate cele trei numere sunt valide, atunci funcția returnează True. În caz contrar, funcția returnează False.

Funcția distincte primește trei argumente, numar1, numar2, numar3, și verifică dacă cele trei numere sunt distincte. Dacă toate cele trei numere sunt egale, funcția returnează 1. Dacă două dintre cele trei numere sunt egale, funcția returnează 2. În caz contrar, funcția returnează 3.

În funcția principală (if __name__ == "__main__":), se citește input-ul de la utilizator și se verifică dacă acestea sunt valide, folosind funcția validare. Dacă acestea sunt valide, se afișează un mesaj de confirmare, "Datele de intrare corespund restricțiilor impuse.", și se afișează numărul de numere distincte folosind funcția distincte. În caz contrar, se afișează mesajul "Datele de intrare nu corespund restricțiilor impuse." pentru a indica faptul că datele introduse nu sunt valide.