Añadir artículo
Parte de la sección Lógica y flujo del Journey de GDScript de Coddy. Lección 72 de 78.
Desafío
FácilAñade el comando add. Conserva todo lo que escribiste en el paso anterior.
Una línea como add Apple 0.5 100 añade el artículo Apple con el precio 0.5 y unas existencias de 100. Los nombres de los artículos tienen una sola palabra.
Primero, escribe la función add_item(inventory, item, price, stock) encima de _ready():
- Si el artículo ya está en
inventory, imprimeError: Item 'Apple' already exists.(con el nombre del artículo) y no cambies nada - De lo contrario, guarda
{"price": price, "stock": stock}con el nombre del artículo como clave e imprimeItem 'Apple' added successfully.
Después, añade una rama elif para add en el bucle. Comprueba la línea antes de llamar a la función:
- Si la línea no tiene exactamente
4partes, imprimeError: Use add ITEM PRICE STOCK - Si el precio no es un número o las existencias no son un número entero, imprime
Error: Price and stock must be numeric. - De lo contrario, llama a
add_item()con el precio convertido afloaty las existencias convertidas aint
Para los comandos add Apple 0.5 100, add Banana 0.2 50, add Apple 0.6 30, show y exit, la salida es:
Inventory Management System
Item 'Apple' added successfully.
Item 'Banana' added successfully.
Error: Item 'Apple' already exists.
{ "Apple": { "price": 0.5, "stock": 100 }, "Banana": { "price": 0.2, "stock": 50 } }
Goodbye!Pruébalo tú mismo
extends Node
func _ready():
# El inventario: nombre del artículo -> {"price": float, "stock": int}
var inventory := {}
print("Inventory Management System")
while true:
var line := OS.read_string_from_stdin()
var parts := line.split(" ")
var command := parts[0]
if command == "exit":
print("Goodbye!")
break
elif command == "show":
print(inventory)
else:
print("Unknown command")
Todas las lecciones de Lógica y flujo
1Cadenas de texto en profundidad
Métodos de cadenasBúsqueda en cadenasReemplazar y eliminar espaciosDividir y unirRepaso - Comprobación del nombre de usuario4Diccionarios, parte 2
Diccionarios anidadosArrays de diccionariosCombinar diccionariosCopiar diccionariosRepaso: contador de frecuencias7Enumeraciones
¿Qué es una enumeración?Definir una enumeraciónValores de una enumeraciónEnumeraciones en matchRepaso: semáforo10Funciones avanzadas
Devolver múltiples valoresFunciones lambda, parte 1Funciones lambda, parte 2Repaso: ordenar con lambdaFunciones recursivas, parte 1Funciones recursivas, parte 2Repaso: sumar un array anidado13Sistema de gestión de inventario
Descripción general del proyectoAñadir artículo2Toma de decisiones avanzada
Coincidencia con variablesGuardas de coincidenciaPatrones de arraysPatrones de diccionariosComprobaciones de pertenenciaRepaso: analizador de comandos5Aplicación de agenda de contactos
Mostrar menúAñadir contacto8Gestor de expedientes estudiantiles
Descripción del proyectoAgregar estudiante3Arrays multidimensionales
Conceptos básicos de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DRepaso: arrays 2DArrays irregularesPatrones comunes de arrays 2DRepaso: tablero de juego6Conjuntos con diccionarios
¿Qué es un conjunto?El diccionario como conjuntoAñadir y eliminarUnión e intersecciónDiferencia de conjuntosRepaso: eliminar duplicados9Agregación avanzada de datos
Suma de valoresCómo encontrar el mínimo y el máximoOrdenación personalizadaRepaso: organizador de diccionariosPractica por tu cuenta: Compilador de GDScript online