Powtórka – wektor cenowy
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 60 z 78.
Wyzwanie
ŁatwyOtrzymasz dwa wiersze danych wejściowych:
- Listę cen początkowych rozdzielonych przecinkami (np.
100,200,150,80) - Wartość procentową zniżki jako liczbę całkowitą (np.
20oznacza 20%)
Wykonaj następujące operacje:
- Utwórz wektor z cen rozdzielonych przecinkami
- Kierownik sklepu zauważył, że trzecia pozycja ma błędną cenę. Zmień ją na
125 - Zastosuj zniżkę do wszystkich cen (pomnóż przez
(100 - discount) / 100) - Wyświetl wektor cen po zniżce
- Wyświetl sumę wszystkich cen po zniżce, używając
sum() - Wyświetl średnią cenę po zniżce, używając
mean()
Na przykład, jeśli dane wejściowe to:
100,200,150,80
20Wynik powinien być następujący:
[1] 80 160 100 64
[1] 404
[1] 101Wyjaśnienie: Trzecia cena zostaje zmieniona na 125, a następnie stosowana jest zniżka 20% (mnożenie przez 0.8), co daje ceny 80, 160, 100 i 64.
Spróbuj swoich sił
# Odczytaj dane wejściowe
con <- file("stdin", "r")
prices_input <- suppressWarnings(readLines(con, n = 1))
discount <- suppressWarnings(readLines(con, n = 1))
close(con)
# Przekonwertuj dane wejściowe
original_prices <- as.numeric(unlist(strsplit(prices_input, ",")))
discount_percent <- as.numeric(discount)
# TODO: Napisz swój kod poniżej
# 1. Zmień trzeci element na 125
# 2. Zastosuj rabat do wszystkich cen
# 3. Wyświetl wektor cen po rabacie
# 4. Wyświetl sumę, używając sum()
# 5. Wyświetl średnią, używając mean()Wszystkie lekcje w sekcji Podstawy
4Operatory, część 2
Operatory logiczne (AND, OR)Operatory logiczne, część 2 (NOT)Powtórka — prosta logikaLogika wektoryzowana, część 1Logika wektoryzowana, część 27Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika10FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz2Zmienne i typy danych
Liczbowy typ danychCałkowity typ danychZnakowy typ danychLogiczny typ danychSprawdzanie typów danychKonwencje nazewnictwaBrakujące wartości: NAPodsumowanie – tworzenie zmiennych8Pętle
Pętla forPętla whilePrzerwijNastępna iteracja (continue)Powtórka — silniaGenerowanie sekwencji (seq, :)Pętle zagnieżdżonePowtórka — dynamiczne wprowadzanie danych3Operatory, część 1
Operatory arytmetyczneDzielenie całkowite i moduloOperatory przypisaniaPowtórka — prosta matematykaOperatory porównania6Podstawowe wejście/wyjście
Wyświetlanie danychCat jako wyjścieWyjście z użyciem zmiennychOdczyt danych wejściowych za pomocą readline()Podstawy konwersji typówPowtórka — kalkulator wiekuPowtórka — prawda czy fałsz9Funkcje
Deklarowanie funkcjiArgumenty funkcjiWartości zwracanePowtórzenie — funkcja SigmaPowtórzenie — funkcja walidującaDomyślne wartości parametrówPoćwicz samodzielnie: Kompilator R online