Generowanie sekwencji (seq, :)
Część sekcji Podstawy ścieżki R w Coddy. Lekcja 43 z 78.
Do tworzenia sekwencji w pętlach używasz już 1:5. Ten operator dwukropka jest szybki i prosty, ale R udostępnia również funkcję seq(), która daje większą kontrolę nad sekwencjami.
Operator dwukropka tworzy sekwencję kolejnych liczb całkowitych:
print(1:5)
print(10:6)Wynik:
[1] 1 2 3 4 5
[1] 10 9 8 7 6Zauważ, że ciąg może przebiegać w obu kierunkach. Gdy pierwsza liczba jest większa, odlicza w dół.
Funkcja seq() zapewnia większą elastyczność. Możesz określić wielkość kroku za pomocą argumentu by:
print(seq(2, 10, by = 2))Wynik:
[1] 2 4 6 8 10Tworzy liczby parzyste od 2 do 10.
Możesz też określić, ile liczb chcesz uzyskać, używając length.out:
print(seq(1, 10, length.out = 4))Wynik:
[1] 1 4 7 10R automatycznie oblicza odstępy, aby uzyskać dokładnie 4 równomiernie rozmieszczone liczby. Oba podejścia działają bezproblemowo w pętlach, umożliwiając łatwe iterowanie po niestandardowych sekwencjach.
Wyzwanie
ŁatwyWczytaj z wejścia trzy liczby: start, end i step.
Użyj funkcji seq(), aby wygenerować ciąg od start do end z podanym krokiem step. Następnie użyj pętli for, aby iterować po tym ciągu i wypisać kwadrat każdej liczby.
Każda podniesiona do kwadratu wartość powinna zostać wypisana w osobnej linii za pomocą print().
Na przykład, jeśli dane wejściowe to 2, 10 i 2, wynikiem powinno być:
[1] 4
[1] 16
[1] 36
[1] 64
[1] 100Dzieje się tak, ponieważ generowany jest ciąg 2, 4, 6, 8, 10, a każda liczba jest podnoszona do kwadratu.
Spróbuj swoich sił
# Odczytaj dane wejściowe
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Napisz swój kod poniżej
# 1. Użyj seq(), aby wygenerować sekwencję od start do end z podanym krokiem step
# 2. Użyj pętli for, aby przejść przez sekwencję
# 3. Wypisz kwadrat każdej liczby za pomocą print()Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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