Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
0274 - 3 Minime
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Sursă: [https://www.pbinfo.ro/probleme/274/3minime] == Cerință == Se dau '''n''' numere naturale. Determinaţi cele mai mici trei numere dintre cele date. == Date de intrare == Programul citește de la tastatură numărul '''n''', iar apoi '''n''' numere naturale. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt corecte.".Programul afișează pe ecran, în ordine descrescătoare, cele mai mici trei numere date.În caz contrar, se va afișa pe ecran: "Datele nu sunt comform restricțiilor impuse.". == Restricții și precizări == * '''3 ≤ n ≤ 100''' * cele '''n''' numere citite vor avea cel mult '''4''' cifre == Exemple == === Exemplu 1 === ; Intrare : 5 : 1017 48 310 5710 162 ; Ieșire : 310 162 48 === Exemplu 2 === ; Intrare : 2 : 10 4 30 510 16 ; Ieșire : Datele nu sunt comform restricțiilor impuse === Exemplu 3 === ; Intrare : 1 : 1017 48 310 5710 162 ; Ieșire : Datele nu sunt comform restricțiilor impuse == Rezolvare == <syntaxhighlight lang="python" line="1"> def citeste_n(): while True: try: n = int(input("Introduceti numarul de valori: ")) if n >= 3 and n <= 100: print("Datele sunt corecte.") return n else: print("Datele nu sunt conform restricțiilor impuse.") except ValueError: print("Trebuie introduse doar numere intregi.") def nrcifre(nr): nrcif = 0 while nr != 0: nrcif += 1 nr //= 10 return nrcif def citeste_valori(n): valori = [] for i in range(n): valoare = input("Introduceti o valoare: ") while True: try: cifre = nrcifre(int(valoare)) if cifre <= 4: print("Datele sunt corecte.") valori.append(int(valoare)) break else: print("Datele nu sunt conform restricțiilor impuse.") exit() except ValueError: print("Trebuie introduse doar valori cu mai putin de 9 cifre.") exit() return valori def numere_minime(valori): valori.sort() return valori[0], valori[1], valori[2] if __name__ == '__main__': n = citeste_n() valori = citeste_valori(n) mini1, mini2, mini3 = numere_minime(valori) print("Cele mai mari numere sunt:",mini3,mini2,mini1) </syntaxhighlight> == Explicații == Acest cod definește patru funcții în Python care au ca scop citirea unui număr de valori și găsirea celor mai mici trei numere dintre acestea. Funcția citeste_n() citește numărul de valori n și verifică dacă acesta se află în intervalul specificat (de la 3 la 100). Dacă numărul introdus nu respectă aceste restricții, se afișează un mesaj de eroare și se cere reîncercarea introducerii valorii. Funcția nrcifre(nr) primește un număr nr și returnează numărul de cifre ale sale. Funcția citeste_valori(n) citește n valori și le verifică dacă au maxim 4 cifre. Dacă valorile nu respectă această condiție, se afișează un mesaj de eroare și se cere reîncercarea introducerii valorii. Funcția numere_minime(valori) primește o listă valori de numere și returnează cele mai mici trei numere dintre acestea. În funcția _main_(), se apelează cele patru funcții și se afișează cele mai mici trei numere între valorile introduse.
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width