0115 - Medie: Difference between revisions
Paul Ungur (talk | contribs) No edit summary |
|||
Line 12: | Line 12: | ||
cele n numere citite vor fi mai mici decât <span style=“color: red”> 1.000.000</span> | cele n numere citite vor fi mai mici decât <span style=“color: red”> 1.000.000</span> | ||
rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât <span style=“color: red”> 0.01</span>. | rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât <span style=“color: red”> 0.01</span>. | ||
În toate seturile de date de intrare se vor afla şi valori pare. | |||
==Exemplu:== | ==Exemplu:== |
Revision as of 17:08, 29 April 2023
Cerinţa
Să se scrie un program care citeşte de la tastatură un număr natural n şi apoi un şir de n numere naturale şi determină media aritmetică a celor pare.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieşire
Programul afișează pe ecran numărul M, reprezentând media aritmetică a valorilor pare.
Restricţii şi precizări
0 < n < 1000 cele n numere citite vor fi mai mici decât 1.000.000 rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât 0.01. În toate seturile de date de intrare se vor afla şi valori pare.
Exemplu:
Intrare 5 8 7 8 9 10
Ieșire 8.66
Rezolvare
<syntaxhighlight lang="python" line> def validare_date(n, numere):
if n < 1 or n > 999: return False for numar in numere: if numar < 0 or numar > 1_000_000: return False return True
def suma_numerelor_pare(numere):
suma = 0 cate_pare = 0 for numar in numere: if numar % 2 == 0: suma += numar cate_pare += 1 return suma, cate_pare
def medie(numere):
suma, cate_pare = suma_numerelor_pare(numere) medie = suma / cate_pare print(medie)
if __name__ == '__main__':
n = int(input()) numere = list(map(int, input().split())) if validare_date(n, numere): print("Date de intrare valide") medie(numere) else: print("Date de intrare invalide") </syntaxhighlight>