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
0054 - Maxim
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/54/maxim] == Cerință == Se citesc numere de la tastatură până la apariția lui zero. Să se determine cea mai mare valoare citită. == Date de intrare == Programul citește de la tastatură numere întregi. Citirea se încheie la introducerea valorii '''0'''. == Date de ieșire == Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt corecte.".Programul afișează pe ecran numărul '''MAX''', reprezentând cea mai mare valoare citită. În caz contrar, se va afișa pe ecran: "Datele nu sunt comform restricțiilor impuse.". == Restricții și precizări == * numerele citite aparțin intervalului '''(-1.000.000; 1.000.000)''' * valoarea zero, care încheie citirile, nu se ia în considerare la determinarea maximului * dacă prima valoare introdusă este zero, se va afișa mesajul '''NU EXISTA''' == Exemple == === Exemplu 1 === ; Intrare : 5 6 2 1 0 ; Ieșire : 6 === Exemplu 2 === ; Intrare : -2000000 3232453 4673829 ; Ieșire : Datele nu sunt comform restricțiilor impuse === Exemplu 3 === ; Intrare : 0 3 4 5 6 ; Ieșire : NU EXISTA == Rezolvare == <syntaxhighlight lang="python" line="1"> def verificare(): numere = [] while True: numar = input("Introduceti o valoare: ") try: numar = int(numar) if numar == 0: break elif numar > -1000000 and numar < 1000000: print("Datele sunt corecte.") numere.append(numar) else: print("Datele nu sunt conform restricțiilor impuse.") except ValueError: print("Trebuie respectate cerintele.") return numere def numar_maxim(numere): if len(numere) == 0: return None numar_max = numere[0] for n in numere: if n > numar_max: numar_max = n return numar_max if __name__ == '__main__': n = verificare() MAX = numar_maxim(n) if MAX is None: print("NU EXISTA.") else: print("Cel mai mare număr este:", MAX) </syntaxhighlight> == Explicații == Acest cod definește două funcții: verificare() și numar_maxim(). Funcția verificare() primește valori de la utilizator până când este introdusă valoarea 0, verifică dacă valorile sunt numere întregi valide și se încadrează în intervalul [-1000000, 1000000], și le adaugă la o listă numere. Funcția returnează lista de numere. Funcția numar_maxim() primește o listă de numere și returnează numărul maxim din listă. Dacă lista este goală, returnează None. În blocul if __name__ == '__main__':, codul apelează funcția verificare() pentru a obține o listă de numere de la utilizator, apoi apelează funcția numar_maxim() pentru a găsi cel mai mare număr din listă. Dacă lista este goală, se afișează mesajul "NU EXISTA.", altfel se afișează cel mai mare număr găsit în listă.
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