Özet - Ürün Listesi
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 75 / 78.
Görev
KolayDört satırlık bir girdi alacaksınız:
- Bir ürün adı (örneğin,
Wireless Headphones) - Bir fiyat (örneğin,
79.99) - Bir stok miktarı (örneğin,
25) - Uygulanacak bir indirim yüzdesi (örneğin,
20)
Aşağıdaki işlemleri gerçekleştirin:
- Şu öğeleri içeren
productadında isimlendirilmiş bir liste oluşturun:name(karakter),price(sayısal),stock(sayısal) veavailable(stok 0'dan büyükseTRUE, aksi takdirdeFALSEolarak ayarlanmış) $operatörünü kullanarak ürün adını yazdırın- İndirimli fiyatı hesaplayın (orijinal fiyattan indirim yüzdesini çıkarın) ve
priceöğesini güncelleyin discountedadında ve değeriTRUEolan yeni bir öğe ekleyinstockmiktarını 1 azaltın (bir satın alma işlemini simüle ederek)availableöğesini listeden kaldırın- Nihai listeyi yazdırın
Örneğin, girdiler şunlarsa:
Smart Watch
150
10
25Çıktı şu şekilde olmalıdır:
[1] "Smart Watch"
$name
[1] "Smart Watch"
$price
[1] 112.5
$stock
[1] 9
$discounted
[1] TRUEAçıklama:
- %25 indirimle 150 olan orijinal fiyat: 150 - (150 * 25/100) = 112.5
- Stok 10'dan 9'a düşürüldü
availableöğesi nihai listeden kaldırıldı
Kendin dene
# Girişi oku
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)
# YAPILACAK: Kodunuzu aşağıya yazın
# 1. name, price, stock ve available öğelerini içeren 'product' adında isimlendirilmiş bir liste oluşturun
# 2. $ operatörünü kullanarak ürün adını yazdırın
# 3. İndirimli fiyatı hesaplayın ve price öğesini güncelleyin
# 4. Değeri TRUE olan 'discounted' adında yeni bir öğe ekleyin
# 5. Stok miktarını 1 azaltın
# 6. 'available' öğesini listeden kaldırın
# 7. Nihai listeyi yazdırınTemeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler (AND, OR)Mantıksal Operatörler Bölüm 2 (NOT)Özet - Basit MantıkVektörize Mantık Bölüm 1Vektörize Mantık Bölüm 27Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcıdan Girdi Alma10Farklı Bir FizzBuzz
Oyuna Genel BakışFizzBuzz Fonksiyonu2Değişkenler ve Veri Tipleri
Sayısal Veri TipiTam Sayı Veri TipiKarakter Veri TipiMantıksal Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıEksik Değerler: NAÖzet - Değişken Oluşturma8Döngüler
For DöngüsüWhile DöngüsüBreakNext (Continue)Özet - FaktöriyelDizi Oluşturma (seq, :)İç İçe DöngülerÖzet - Dinamik Girdi11Vektörler
c() ile Vektör OluşturmaVektör Elemanlarına ErişmeVektörleri DeğiştirmeVektör İşlemleriÖzet - Fiyat VektörüÖzet - Ters Çevrilmiş Vektörİsimlendirilmiş Vektörler14R'da Listeler
Liste OluşturmaListe Elemanlarına ErişmeListeleri Düzenlemeİsimlendirilmiş ListelerÖzet - Ürün Listesi3Operatörler 1. Bölüm
Aritmetik OperatörlerTam Sayı Bölmesi ve Mod AlmaAtama OperatörleriÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel Giriş-Çıkış
Print ÇıktısıÇıktı için Cat KullanımıDeğişkenlerle Çıktı Almakreadline() ile Girdi OkumaTip Dönüşümü TemelleriÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Fonksiyonlar
Fonksiyon TanımlamaFonksiyon ArgümanlarıDönüş DeğerleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Parametre Değerleri