0054 - Maxim: Difference between revisions
Andor Giulia (talk | contribs) No edit summary |
MiclausIoana (talk | contribs) No edit summary |
||
Line 17: | Line 17: | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
def verificare(): | |||
numere = [] | |||
numere | while True: | ||
numar = input("Introduceti o valoare: ") | |||
try: | |||
if | numar = int(numar) | ||
if numar == 0: | |||
if n >= | break | ||
elif numar > -1000000 and numar < 1000000: | |||
if MAX | print("Datele sunt corecte.") | ||
numere.append(numar) | |||
else: | 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> | </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ă. |
Revision as of 15:57, 29 March 2023
Sursă: [1]
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
Programul afișează pe ecran numărul MAX, reprezentând cea mai mare valoare citită.
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
Exemplu
- Intrare
- 5 6 2 1 0
- Ieșire
- 6
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ă.