Menu
CoddyTech

复习:产品列表

本课属于 Coddy R 学习旅程的“基础知识”单元。第 75 课,共 78 课。

challenge icon

挑战

简单

你将收到 4 行输入:

  1. 产品名称(例如,Wireless Headphones)
  2. 价格(例如,79.99)
  3. 库存数量(例如,25)
  4. 要应用的折扣百分比(例如,20)

执行以下操作:

  1. 创建一个名为 product 的命名列表,包含以下元素:name(字符型)、price(数值型)、stock(数值型)和 available(如果库存大于 0,则设为 TRUE,否则设为 FALSE)
  2. 使用 $ 运算符打印产品名称
  3. 计算折后价格(原价减去折扣金额),并更新 price 元素
  4. 添加一个名为 discounted、值为 TRUE 的新元素
  5. 将 stock 减少 1(模拟购买)
  6. 从列表中移除 available 元素
  7. 打印最终列表

例如,如果输入为:

Smart Watch
150
10
25

输出应为:

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

$price
[1] 112.5

$stock
[1] 9

$discounted
[1] TRUE

说明:

  • 原价为 150,折扣为 25%:150 - (150 * 25/100) = 112.5
  • 库存从 10 减少到 9
  • 最终列表中的 available 元素已被移除

亲手试试

# 读取输入
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: 在下方编写你的代码
# 1. 创建一个名为 'product' 的命名列表,包含 name、price、stock 和 available 元素
# 2. 使用 $ 运算符打印产品名称
# 3. 计算折扣后的价格,并更新 price 元素
# 4. 添加一个名为 'discounted' 的新元素,值为 TRUE
# 5. 将 stock 减少 1
# 6. 从列表中移除 'available' 元素
# 7. 打印最终列表

基础知识中的所有课

自己练习: R 在线编译器