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>
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()
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
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>
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()