Repaso: iterar sobre datos
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 53 de 71.
Desafío
FácilLee tres líneas de entrada:
- Una lista de enteros separados por comas (por ejemplo,
12,5,8,20,3,15,7) - Un valor umbral mínimo
- Un valor umbral máximo
Procesa el array para encontrar la suma de todos los números que se encuentran dentro del rango (incluidos tanto el mínimo como el máximo). Primero comprueba si un número es exactamente el doble del umbral máximo y, si es así, detente inmediatamente con break. De lo contrario, usa continue para omitir los números que están fuera del rango.
La primera línea se lee con explode, por lo que $numbers contiene cadenas, mientras que $min y $max son enteros. Convierte cada elemento con intval() (o mediante una conversión (int)) antes de compararlo con los umbrales o añadirlo a la suma.
Imprime dos líneas:
- La suma de los números válidos dentro del rango
- La cantidad de números que se añadieron a la suma
Ejemplo 1:
Si las entradas son 5,12,8,20,15,3,10, 5 y 15, la salida debería ser:
50
5(5 + 12 + 8 + 15 + 10 = 50, cinco números están dentro del rango 5-15)
Ejemplo 2:
Si las entradas son 2,8,12,20,6,14, 5 y 10, la salida debería ser:
8
1(El procesamiento se detiene en 20 porque es el doble del máximo, que es 10; solo se añadió 8 antes de ese punto, por lo que la suma es 8 y la cantidad es 1)
Ejemplo 3:
Si las entradas son 1,2,3,4,5, 10 y 20, la salida debería ser:
0
0(Ningún número se encuentra dentro del rango 10-20)
Pruébalo tú mismo
<?php
// Leer entrada
$numbers = explode(',', trim(fgets(STDIN)));
$min = intval(trim(fgets(STDIN)));
$max = intval(trim(fgets(STDIN)));
// Inicializar variables
$sum = 0;
$count = 0;
// TODO: Escribe tu código aquí
// Recorre el array numbers
// Usa 'continue' para saltar los números fuera del rango (min a max inclusive)
// Usa 'break' si encuentras un número exactamente el doble del umbral máximo
// Lleva la cuenta de la suma y el conteo de los números válidos
// Mostrar los resultados
echo $sum . "\n";
echo $count;
?>Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones8Bucles
Bucle ForBucle WhileBucle ForeachIteración con claves y valoresSentencia BreakSentencia ContinueRepaso: iterar sobre datos3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online