Python: obtenga un promedio de rango aleatorio

Dado el rango y el tamaño de los elementos, extraiga números aleatorios dentro de un rango y realice un promedio.

Entrada : N = 3, strt_num = 10, end_num = 15
Salida : 13,58
Explicación : Elementos aleatorios extraídos entre 10 y 15, con un promedio de 13,58.

Entrada : N = 2, strt_num = 13, end_num = 18
Salida : 15,82
Explicación : 2 elementos promedian 15,82 en este caso.

Método #1: Usar loop +uniform()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de extraer números usando uniform() y loop se usa para realizar la suma de números. El promedio se calcula al final dividiendo por el tamaño.

# Python3 code to demonstrate working of 
# Random Range Average
# Using loop + uniform()
import random
  
# initializing N
num = 4
  
# Initialize strt_num
strt_num = 15
  
# Initialize end_num
end_num = 60
  
# Using loop + uniform()
res = 0.0
for _ in range(num):     
      
    # performing summation of range elements
    res += random.uniform(strt_num, end_num)
  
# performing average
res = res / num
  
# printing result 
print("The average value : " + str(res)) 
Producción :

The average value : 42.980287235196116

Método #2: Usar la sum() + uniform() expresión del generador +
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de realizar el promedio usando sum() para calcular sum() y toda la lógica se encapsula en una sola línea usando la expresión del generador.

# Python3 code to demonstrate working of 
# Random Range Average
# Using sum() + uniform() + generator expression
import random
  
# initializing N
num = 4
  
# Initialize strt_num
strt_num = 15
  
# Initialize end_num
end_num = 60
  
# Using sum() + uniform() + generator expression
# shorthand, using generator expression to form sum and division by Size
res = sum(random.uniform(strt_num, end_num) for _ in range(num)) / num
  
# printing result 
print("The average value : " + str(res))
Producción :

The average value : 42.980287235196116

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *