2299 - Media Geometrica
De la Universitas MediaWiki
Cerinta
Se dau n numere naturale. Calculați media lor geometrică.
Date de intrare
Programul citește de la tastatură numărul natural n , apoi n numere naturale.
Date de ieșire
Programul va afișa pe ecran media geometrică a celor n numere.
Restricții și precizări
1 < n ≤ 10 numerele citite vor fi cuprinse între 0 și 50 . rezultatul va fi punctat dacă diferența dintre cel afișat de program și cel corect este mai mică decât 0.01 .
Exemplu
Intrare 4 2 4 2 1
Ieșire 2
Explicație
2⋅4⋅2⋅1−−−−−−−−√4=2
Rezolvare
def read_input():
n = int(input("Introduceti numarul de numere: "))
nums = []
for i in range(n):
num = int(input(f"Introduceti numarul {i+1}: "))
nums.append(num)
return nums
def validate_input(nums):
for num in nums:
if num < 0 or num > 50:
print("Numerele trebuie sa fie cuprinse intre 0 si 50.")
return False
return True
def calculate_geometric_mean(nums):
product = 1
for num in nums:
product *= num
geometric_mean = product ** (1/len(nums))
return geometric_mean
def main():
nums = read_input()
if not validate_input(nums):
return
geometric_mean = calculate_geometric_mean(nums)
print(f"Media geometrica este: {geometric_mean:.2f}")
if __name__ == "__main__":
main()