4.1 KiB
id, title, challengeType, forumTopicId, dashedName
| id | title | challengeType | forumTopicId | dashedName |
|---|---|---|---|---|
| 5e44412c903586ffb414c94c | Formateador aritmético | 10 | 462359 | arithmetic-formatter |
--description--
Estarás trabajando en este proyecto con nuestro código inicial en Replit.
- Comienza importando el proyecto en Replit.
- Después verás una ventana
.replit - Selecciona
Use run commandy presiona el botónDone
--instructions--
Los estudiantes de primaria suelen colocar los problemas aritméticos en vertical para facilitar su resolución. Por ejemplo, "235 + 52" se convierte a:
235
+ 52
-----
Crea una función que reciba una lista de cadenas que sean problemas aritméticos y devuelva los problemas ordenados verticalmente y uno al lado del otro. La función debe tomar opcionalmente un segundo argumento. Cuando el segundo argumento se establezca como True, se deberán mostrar las respuestas.
Ejemplo
Llamando a la función:
arithmetic_arranger(["32 + 698", "3801 - 2", "45 + 43", "123 + 49"])
Resultado:
32 3801 45 123
+ 698 - 2 + 43 + 49
----- ------ ---- -----
Llamando a la función:
arithmetic_arranger(["32 + 8", "1 - 3801", "9999 + 9999", "523 - 49"], True)
Resultado:
32 1 9999 523
+ 8 - 3801 + 9999 - 49
---- ------ ------ -----
40 -3800 19998 474
Reglas
La función devolverá la conversión correcta si los problemas suministrados están correctamente formateados, de lo contrario, devolverá una cadena que describe un error significativo para el usuario.
- Situaciones que devolverán un error:
- Si se pasan demasiados problemas a la función. El límite es cinco, si se pasan más se devolverá:
Error: Too many problems. - Los únicos operadores que aceptará la función son adición y sustracción. Multiplicación y división devolverán un error. Otros operadores no mencionados en este punto no necesitarán ser probados. El error devuelto será:
Error: Operator must be '+' or '-'. - Cada número (operando) solo debe contener dígitos. En otro caso, la función devolverá:
Error: Numbers must only contain digits. - Cada operando (los números a cada lado del operador) tiene que tener un máximo de cuatro dígitos. En otro caso, la cadena de error devuelta será:
Error: Numbers cannot be more than four digits.
- Si se pasan demasiados problemas a la función. El límite es cinco, si se pasan más se devolverá:
- Si el usuario proporciona a la función los problemas con el formato correcto, la conversión a devolver por la función seguirá las siguientes reglas:
- Debe haber un solo espacio entre el operador y el operando más largo, el operador estará en la misma línea que el segundo operando, ambos operandos estarán en el mismo orden en que fueron pasados (el primero será el que aparezca arriba y el segundo estará debajo).
- Los números deben estar alineados a la derecha.
- Debe haber cuatro espacios entre cada problema.
- Debe haber guiones (-) al final de cada problema. Dichos guiones deben extenderse a lo largo de la longitud de cada problema por separado. (Véase el ejemplo más arriba.)
Desarrollo
Escribe tu código en arithmetic_arranger.py. Durante el desarrollo de tu programa puedes utilizar main.py para probar el funcionamiento de tu función arithmetic_arranger(). Haz clic en el botón "run" y se ejecutará main.py.
Pruebas
Las pruebas unitarias para este proyecto están en test_module.py. Ejecutamos las pruebas de test_module.py a main.py para tu conveniencia. Las pruebas se ejecutarán automáticamente cada vez que pulses el botón "run". También puedes ejecutar las pruebas introduciendo pytest en la consola.
Envío
Copy your project's URL and submit it to freeCodeCamp.
--hints--
Debe formatear correctamente un problema aritmético y pasar todas las pruebas.
--solutions--
/**
Backend challenges don't need solutions,
because they would need to be tested against a full working project.
Please check our contributing guidelines to learn more.
*/