Repaso - Lista de productos
Parte de la sección Fundamentos del Journey de R de Coddy — lección 75 de 78.
Desafío
FácilRecibirás cuatro líneas de entrada:
- Un nombre de producto (por ejemplo,
Wireless Headphones) - Un precio (por ejemplo,
79.99) - Una cantidad en stock (por ejemplo,
25) - Un porcentaje de descuento a aplicar (por ejemplo,
20)
Realiza las siguientes operaciones:
- Crea una lista con nombre llamada
productcon los elementos:name(carácter),price(numérico),stock(numérico) yavailable(establecido enTRUEsi el stock es mayor que 0, de lo contrarioFALSE) - Imprime el nombre del producto utilizando el operador
$ - Calcula el precio con descuento (precio original menos el porcentaje de descuento) y actualiza el elemento
price - Añade un nuevo elemento llamado
discountedcon el valorTRUE - Reduce el
stocken 1 (simulando una compra) - Elimina el elemento
availablede la lista - Imprime la lista final
Por ejemplo, si las entradas son:
Smart Watch
150
10
25La salida debería ser:
[1] "Smart Watch"
$name
[1] "Smart Watch"
$price
[1] 112.5
$stock
[1] 9
$discounted
[1] TRUEExplicación:
- Precio original 150 con 25% de descuento: 150 - (150 * 25/100) = 112.5
- El stock se redujo de 10 a 9
- El elemento
availablefue eliminado de la lista final
Pruébalo tú mismo
# Leer entrada
con <- file("stdin", "r")
product_name <- suppressWarnings(readLines(con, n = 1))
price <- as.numeric(suppressWarnings(readLines(con, n = 1)))
stock <- as.numeric(suppressWarnings(readLines(con, n = 1)))
discount_percentage <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# TODO: Escribe tu código a continuación
# 1. Crea una lista con nombre llamada 'product' con los elementos: name, price, stock, y available
# 2. Imprime el nombre del producto usando el operador $
# 3. Calcula el precio con descuento y actualiza el elemento price
# 4. Añade un nuevo elemento llamado 'discounted' con el valor TRUE
# 5. Reduce el stock en 1
# 6. Elimina el elemento 'available' de la lista
# 7. Imprime la lista finalTodas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica11Vectores
Crear vectores con c()Acceder a elementos de un vectorModificar vectoresOperaciones con vectoresResumen - Vector de preciosResumen - Vector invertidoVectores con nombre14Listas en R
Crear listasAcceso a elementos de la listaModificar listasListas con nombreRepaso - Lista de productos3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defecto