0040 – Vector Max Min Sum
Sursa: Vector Max Min Sum
Cerinţă
Se dă un șir cu n
elemente întregi. Să se afișeze valoarea minimă, valoarea maximă și suma elementelor șirului.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
numere întregi, separate prin spații.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele introduse sunt corecte!", apoi se vor afișa minimul, maximul și suma tuturor elementelor vectorului. În cazul în care datele nu respectă restricțiile, se va afișa mesajul "Datele introduse nu sunt corecte!".
Restricţii şi precizări
- 1 <= n <= 100
- valorile elementelor șirului vor fi < 1.000.000
Exemple
Exemplul 1
- Intrare
- Introduceti numarul de elemente: 5
- ntroduceti 5 numere separate prin spatiu:12 13 121 312 3
- Ieșire
- Datele introduse sunt corecte!
- mini: 3 maxi: 312 sum: 461
Exemplul 2
- Intrare
- Introduceti numarul de elemente: 12345
- Ieșire
- Datele introduse sunt incorecte!
Exemplul 3
- Intrare
- Introduceti numarul de elemente: 5
- Introduceti 5 numere separate prin spatiu:1 1 1 1 1
- Ieșire
- Datele introduse sunt corecte!
- mini: 1 maxi: 1 sum: 5
Rezolvare
<syntaxhighlight lang="python" line="1"> def is_integer(value):
return value.isdigit()
def verificare_nr_elemente(n):
if is_integer(n): if 0 <= int(n) <= 100: return n else: print("Datele introduse sunt incorecte!") exit() else: print("Datele introduse sunt incorecte!") exit()
def verificare_vector(n, vector):
if len(vector) != int(n): print("Datele introduse sunt incorecte!") exit() else: for i in vector: if is_integer(i): if int(i) <= 10000: continue else: print("Datele introduse sunt incorecte!") exit() else: print("Datele introduse sunt incorecte!") exit()
def min_max_sum(vector):
mini = 100000000 maxi = 0 sum = 0 for elem in vector: if elem < mini: mini = elem if elem > maxi: maxi = elem sum += elem print("mini:", mini, "maxi:", maxi, "sum:", sum)
if __name__ == '__main__':
n = input("Introduceti numarul de elemente: ") verificare_nr_elemente(n) elem = input(f"Introduceti {n} numere separate prin spatiu:").split() verificare_vector(n, elem) lst_int = list(map(int, elem)) print("Datele introduse sunt corecte!") min_max_sum(lst_int)
</syntaxhighlight>
Explicație rezolvare
Acest program primește un șir de n
numere întregi, verifică validitatea datelor introduse și apoi calculează și afișează valoarea minimă, valoarea maximă și suma elementelor din vector. Iată o explicație pas cu pas a programului:
- Verifică dacă
n
, numărul de elemente, este întreg și între 0 și 100. - Verifică dacă șirul de numere introdus are lungimea
n
și dacă toate elementele sunt numere întregi între 1 și 10000. - Definește funcția
min_max_sum
care calculează valoarea minimă, valoarea maximă și suma elementelor din vector. Inițializează variabilelemini
,maxi
șisum
. Iterează prin elementele vectorului și actualizează valoarea minimă, valoarea maximă și suma elementelor. - Apelă funcția
min_max_sum
cu vectorul introdus de utilizator și afișează valoarea minimă, valoarea maximă și suma elementelor din vector.
Programul urmează acești pași pentru a se asigura că datele introduse sunt corecte și pentru a oferi informațiile cerute despre vector (valoarea minimă, valoarea maximă și suma elementelor).