0115 - Medie: Difference between revisions

From Bitnami MediaWiki
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
Î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>