Resumen
El código de golf es bueno. El pastel está bien . Cuando juntas los dos, solo pueden pasar cosas buenas.
Especificaciones
En este desafío, administrará una pastelería. El usuario será capaz de introducir cinco comandos diferentes: list, count, buy, sell, y exit. Aquí están las especificaciones para cada uno:
listImprima una lista de todos los pasteles que posee y cuántos. Separa con una
|almohadilla con un espacio a cada lado.|s debe estar alineado. La cantidad del pastel puede ser negativa (eso significa que le debe pastel a alguien:(). Por ejemplo:| apple | 500 | | blueberry | 2 | | cherry | -30 |
count [type]Imprime cuántas
{{type}}tartas hay. Imprimir "¡No hay{{type}}pastel!" si no hay ninguno{{type}}siempre coincidirá con la expresión regular\w+(es decir, siempre será una sola palabra). Por ejemplo, si tuviera la cantidad de pasteles que se muestra en la lista de ejemplos anterior, entonces> count apple 500 > count peach There is no peach pie!
buy [n] [type]Agregue
{{n}}al recuento de{{type}}pastel e imprímalo. Crea un{{type}}pastel si no existe.{{n}}siempre coincidirá con la expresión regular[0-9]+(es decir, siempre será un número). Aquí hay otro ejemplo (con el mismo inventario circular que los ejemplos anteriores):> count blueberry 2 > buy 8 blueberry 10
sell [n] [type]Reste
{{n}}del recuento de{{type}}pastel e imprímalo. Crea un{{type}}pastel si no existe. El pastel puede ser negativo (¡oh no, eso significaría que le debes pastel a alguien!).> sell 15 blueberry -5 > buy 5 blueberry 0
exitImprimir "¡La tarta ha cerrado!" y salga del programa.
> exit The pie store has closed!
Aclaraciones adicionales
- Si se llama a una función no existente (la primera palabra), imprima "Ese no es un comando válido".
- Si se llama a una función existente con argumentos no válidos (las palabras después de la primera palabra), no importa cómo se comporta su programa. Los "argumentos inválidos" incluyen demasiados argumentos, muy pocos argumentos,
{{n}}no ser un número, etc. - El pastel está bien.
- Su entrada debe distinguirse de su salida. Si está ejecutando el programa en la línea de comando / terminal / shell / otra cosa basada en texto, debe prefijar la entrada con "
> "(un signo" mayor que "y un espacio) o alguna otra cosa de prefijo de entrada de shell. - El pastel está bien.
Si todas estas aclaraciones no son lo suficientemente buenas, aquí hay algunos resultados de muestra:
> list > buy 10 apple 10 > sell 10 blueberry -10 > list | apple | 10 | | blueberry | -10 | > count apple 10 > count peach There is no peach pie! > exit The pie store has closed!Si compra pastel / venta y el recuento neta se convierte
0, puede o bien mantenerlo en ellisto no, y puede o bien volver0oThere is no {{type}} pie!cuandocountla misma.- Este es el código de golf ; el código más corto gana.
- ¿Mencioné que el pastel es bueno?
buy 1 appley sell 1 apple. ¿Y entonces sería válido count appleregresar en 0lugar de There is no apple pie!?
