まとめ - 商品リスト
CoddyのRジャーニー「基礎」セクションの一部 — レッスン 75/78。
チャレンジ
簡単4行の入力が与えられます:
- 製品名 (例:
Wireless Headphones) - 価格 (例:
79.99) - 在庫数 (例:
25) - 適用する割引率 (例:
20)
以下の操作を実行してください:
productという名前のリストを作成し、以下の要素を含めます:name(文字型)、price(数値型)、stock(数値型)、およびavailable(在庫が0より大きい場合はTRUE、それ以外はFALSE)$演算子を使用して製品名を出力します- 割引後の価格(元の価格から割引率を引いたもの)を計算し、
price要素を更新します discountedという新しい要素を追加し、値をTRUEに設定しますstockを1減らします(購入をシミュレートします)- リストから
available要素を削除します - 最終的なリストを出力します
例えば、入力が以下の場合:
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. name、price、stock、availableという要素を持つ 'product' という名前付きリストを作成します
# 2. $ 演算子を使用して商品名を表示します
# 3. 割引価格を計算し、price要素を更新します
# 4. 値が TRUE の 'discounted' という新しい要素を追加します
# 5. 在庫(stock)を1減らします
# 6. リストから 'available' 要素を削除します
# 7. 最終的なリストを表示します