Menu
Coddy logo textTech

Repaso - Lista de productos

Parte de la sección Fundamentos del Journey de R de Coddy — lección 75 de 78.

challenge icon

Desafío

Fácil

Recibirás cuatro líneas de entrada:

  1. Un nombre de producto (por ejemplo, Wireless Headphones)
  2. Un precio (por ejemplo, 79.99)
  3. Una cantidad en stock (por ejemplo, 25)
  4. Un porcentaje de descuento a aplicar (por ejemplo, 20)

Realiza las siguientes operaciones:

  1. Crea una lista con nombre llamada product con los elementos: name (carácter), price (numérico), stock (numérico) y available (establecido en TRUE si el stock es mayor que 0, de lo contrario FALSE)
  2. Imprime el nombre del producto utilizando el operador $
  3. Calcula el precio con descuento (precio original menos el porcentaje de descuento) y actualiza el elemento price
  4. Añade un nuevo elemento llamado discounted con el valor TRUE
  5. Reduce el stock en 1 (simulando una compra)
  6. Elimina el elemento available de la lista
  7. Imprime la lista final

Por ejemplo, si las entradas son:

Smart Watch
150
10
25

La salida debería ser:

[1] "Smart Watch"
$name
[1] "Smart Watch"

$price
[1] 112.5

$stock
[1] 9

$discounted
[1] TRUE

Explicación:

  • Precio original 150 con 25% de descuento: 150 - (150 * 25/100) = 112.5
  • El stock se redujo de 10 a 9
  • El elemento available fue 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 final

Todas las lecciones de Fundamentos