2948 - Media Patratica
Cerința
Se dau n numere naturale. Calculați media pătratică a celor n numere citite cu 2 zecimale exacte.
Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale.
Date de ieșire
Programul va afișa pe ecran media pătratică a celor n numere cu 2 zecimale exacte.
Restricții și precizări
1 ≤ n ≤ 1000 cele n</span numere citite vor fi mai mici decât 1.000.000
Exemplu:
Intrare 5 1 2 3 4 5
Ieșire 3.31
Rezolvare
<syntaxhighlight lang="python" line="1"> def validare_numar_intreg(mesaj):
while True: try: n = int(input(mesaj)) return n except ValueError: print("Trebuie sa introduci un numar intreg. Incearca din nou.")
def validare_lista_numere(mesaj, lungime):
while True: try: nums = list(map(int, input(mesaj).split())) if len(nums) != lungime: raise ValueError for num in nums: if num < 0 or num > 1000000: raise ValueError return nums except ValueError: print(f"Trebuie sa introduci exact {lungime} numere naturale mai mici decat 1.000.000. Incearca din nou.")
def media_patratica(nums):
suma_patrate = sum([num ** 2 for num in nums]) media_patratica = (suma_patrate / len(nums)) ** 0.5 return round(media_patratica, 2)
def main():
n = validare_numar_intreg("Introduceti numarul de numere: ") nums = validare_lista_numere(f"Introduceti cele {n} numere separate prin spatiu: ", n) rezultat = media_patratica(nums) print(f"Media patratica a celor {n} numere este {rezultat}.")
if __name__ == '__main__':
main()
</syntaxhighlight>