2

#PlatziCodingChallenge - Calcula la media

Calcula la media de un conjunto de números

Crea una función que pueda recibir una cantidad de números, ya sea como un arreglo o como parámetros, y calcule la media (promedio) de estos.

Escribe tu comentario
+ 2
Ordenar por:
2
19943Puntos

Calcula la media en JavaScript y en Python

// Calcula la Media en JavaScriptfunctionmedia(...numeros){
  if (typeof numeros[0] !== 'number') {
    numeros = numeros.flat()
  }
  const suma = numeros.reduce((a, b) => a + b)
  const n = numeros.length
  return suma / n
}

console.log(media(1, 2, 3, 4)) // 2.5
console.log(media([1, 2, 3, 4])) // 2.5
# Calcula la Media en PythondefesNumero(x):try:
    float(x)
    returnTrueexcept:
    returnFalsedefmedia(*numeros):if (esNumero(numeros[0]) == False):
    numeros = numeros[0]
  else:
    numeros = list(numeros)
  suma = 0for n in numeros: suma += n
  n = len(numeros)
  return suma / n

print(media(1, 2, 3, 4)) # 2.5
print(media([1, 2, 3, 4])) # 2.5
2
7689Puntos

Resultado con ingreso de parámetros en un input o de manera manual por medio de prompt

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Calcula la Media</title></head><style>
  * {
    margin: 0;
  }

  .contenedor {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
  }

  .inputs {
    display: flex;
    flex-flow: column;
    align-items: center;
    padding: 2rem;
  }

  .section {
    padding: 0.25rem2rem;
    display: flex;
    align-items: center;
  }

  .sectioninput, .sectionspan{
    margin-left: 12px;
    font-weight: bold;
  }


  .btn {
    border: 2px solid black;
    border-radius: 6px;
    cursor: pointer;
    padding: 20px;
    margin-bottom: 10px;
  }

</style><body><divclass="contenedor"><h1style="margin-bottom: 24px;">Media de números</h1><divclass="inputs"><sectionclass="section">
        Ingresa los números que deseas encontrar su media separados por una coma <inputid="numeros"placeholder="12,54,258,..."/></section><sectionclass="section"id="resultado"></section></div><buttononclick="calcular()"class="btn">Calcular Media...</button><buttononclick="manual()"class="btn">Ingresar manualmente...</button></div><script>let numeros = []
    // Esta bandera la uso para poder saber si estoy ingresando manualmente o directamente ingresando los datos en el inputlet flag = truefunctionmanual(){
      let num = prompt('Ingrese un número')
      numeros.push(num)
      let decision = prompt('Desea ingresar otro? SI o NO?').toUpperCase()
      if (decision === 'SI'){
        manual()
      } else {
        flag = false
        calcular()
      }
    }
      
    functioncalcular() {
      if (flag){
        numeros = document.getElementById('numeros').value.replace(/[ ]/g, '').split(',')
      }
      let resultado = document.getElementById('resultado')
      let length = numeros.length
      let subTotal = 0
      numeros.forEach(num => {
        subTotal += parseFloat(num)
      })
      let total = parseFloat(subTotal / length)
      resultado.innerHTML = `La media es ${total.toFixed(2)}`
      flag = true
      numeros = []
    }
  </script></body></html>
2
49000Puntos

Agregué dos opciones: una en la que se puedan ingresar los números que se deseen y se obtenga su promedio, y otra donde se obtenga el promedio de una cantidad deseada de números aleatorios.

import random


defentered():
    quant = int(input(f'How many numbers do you want to know the average of?: '))
    sum = 0for number in range(quant):
        number = int(input(f'What is the value of your number #{number+1}?: '))
        sum += number

    average = sum / quant    
    print(f'The average is {average}.')


defrandom_nums():
    quant = int(input(f'How many numbers do you want to know the average of?: '))

    sum = 0for number in range(quant):
        number = random.randint(1, 100)
        sum += number
    
    average = sum / quant
    print(f'The average is {average}.')


defagain():
    answer = int(input(f'Please, enter a correct option: '))

    if answer == 1:
        entered()
    elif answer == 2:
        random_nums()
    else:
        print(f'No valid option')
        again()


defrun():
    print("""    
    Enter 1 if you want to get the average of the numbers you enter.

    Enter 2 if you want to get the average of random numbers.
    """)

    answer = int(input(f'Enter your answer: '))

    if answer == 1:
        entered()
    elif answer == 2:
        random_nums()
    else:
        print(f'No valid option')
        again()


if __name__ == "__main__":
    run()