0453 - Distincte1
Cerință[edit | edit source]
Se citesc de la tastatură trei numere naturale. Să se determine numărul de valori distincte.
Date de intrare[edit | edit source]
Programul va citi de la tastatură trei numere naturale.
Date de ieșire[edit | edit source]
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[edit | edit source]
- Numerele citite sunt cuprinse între 0 și 1.000.000.000, inclusiv.
Exemplul 1[edit | edit source]
- Intrare
- 100 41 100
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 2
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="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.")
</syntaxhighlight>
Explicatie[edit | edit source]
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.