Menu
CoddyTech

Ôn tập: Danh sách sản phẩm

Thuộc phần Kiến thức nền tảng trong hành trình R của Coddy. Bài học 75 trên 78.

challenge icon

Thử thách

Dễ

Bạn sẽ nhận được bốn dòng đầu vào:

  1. Tên sản phẩm (ví dụ: Wireless Headphones)
  2. Giá (ví dụ: 79.99)
  3. Số lượng hàng tồn kho (ví dụ: 25)
  4. Phần trăm giảm giá cần áp dụng (ví dụ: 20)

Thực hiện các thao tác sau:

  1. Tạo một danh sách có tên là product với các phần tử: name (ký tự), price (kiểu số), stock (kiểu số) và available (đặt thành TRUE nếu số lượng hàng tồn kho lớn hơn 0, nếu không thì đặt thành FALSE)
  2. In tên sản phẩm bằng toán tử $
  3. Tính giá sau giảm giá (giá ban đầu trừ đi phần trăm giảm giá) và cập nhật phần tử price
  4. Thêm phần tử mới có tên là discounted với giá trị TRUE
  5. Giảm stock đi 1 (mô phỏng một lần mua hàng)
  6. Xóa phần tử available khỏi danh sách
  7. In danh sách cuối cùng

Ví dụ, nếu dữ liệu đầu vào là:

Smart Watch
150
10
25

Đầu ra sẽ là:

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

$price
[1] 112.5

$stock
[1] 9

$discounted
[1] TRUE

Giải thích:

  • Giá ban đầu là 150, giảm giá 25%: 150 - (150 * 25/100) = 112.5
  • Số lượng hàng tồn kho giảm từ 10 xuống còn 9
  • Phần tử available đã bị xóa khỏi danh sách cuối cùng

Tự làm thử

# Đọc đầu vào
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: Viết code bên dưới
# 1. Tạo danh sách (list) có tên 'product' gồm các phần tử (element): name, price, stock và available
# 2. In ra tên sản phẩm bằng toán tử (operator) $
# 3. Tính giá sau khi giảm và cập nhật phần tử price
# 4. Thêm phần tử mới tên 'discounted' với giá trị (value) TRUE
# 5. Giảm stock đi 1
# 6. Xóa phần tử 'available' khỏi danh sách
# 7. In ra danh sách cuối cùng

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch R online