Sequenzgenerierung (seq, :)
Teil des Abschnitts Grundlagen der R-Journey von Coddy. Lektion 43 von 78.
Du hast 1:5 verwendet, um Sequenzen in deinen Schleifen zu erstellen. Dieser Doppelpunktoperator ist schnell und einfach, aber R stellt auch die Funktion seq() bereit, um deine Sequenzen besser zu steuern.
Der Doppelpunktoperator erstellt eine Folge aufeinanderfolgender Ganzzahlen:
print(1:5)
print(10:6)Ausgabe:
[1] 1 2 3 4 5
[1] 10 9 8 7 6Beachte, dass die Folge in beide Richtungen verlaufen kann. Wenn die erste Zahl größer ist, zählt sie herunter.
Die Funktion seq() bietet dir mehr Flexibilität. Du kannst eine Schrittweite mithilfe des Arguments by angeben:
print(seq(2, 10, by = 2))Ausgabe:
[1] 2 4 6 8 10Dies erzeugt gerade Zahlen von 2 bis 10.
Du kannst auch angeben, wie viele Zahlen du möchtest, indem du length.out verwendest:
print(seq(1, 10, length.out = 4))Ausgabe:
[1] 1 4 7 10R berechnet automatisch den Abstand, um dir genau 4 gleichmäßig verteilte Zahlen zu geben. Beide Ansätze funktionieren nahtlos in Schleifen und ermöglichen es dir, mühelos durch benutzerdefinierte Sequenzen zu iterieren.
Aufgabe
EinfachLies drei Zahlen aus der Eingabe ein: start, end und step.
Verwende die Funktion seq(), um mit der angegebenen Schrittweite start eine Sequenz von end bis step zu erzeugen. Verwende dann eine for-Schleife, um diese Sequenz zu durchlaufen und das Quadrat jeder Zahl auszugeben.
Jeder quadrierte Wert sollte mithilfe von print() in einer eigenen Zeile ausgegeben werden.
Wenn die Eingaben beispielsweise 2, 10 und 2 lauten, sollte die Ausgabe wie folgt aussehen:
[1] 4
[1] 16
[1] 36
[1] 64
[1] 100Der Grund dafür ist, dass die Sequenz 2, 4, 6, 8, 10 erzeugt wird und jede Zahl quadriert wird.
Probier es selbst
# Eingabe lesen
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: Schreibe deinen Code darunter
# 1. Verwende seq(), um eine Sequenz von start bis end mit dem gegebenen step zu erzeugen
# 2. Verwende eine for-Schleife, um durch die Sequenz zu iterieren
# 3. Gib das Quadrat jeder Zahl mit print() ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 2
Logische Operatoren (AND, OR)Logische Operatoren Teil 2 (NOT)Wiederholung – einfache LogikVektorisierte Logik Teil 1Vektorisierte Logik Teil 27Rechner zum Teilen der Rechnung
BegrüßungsnachrichtBenutzereingaben erfassen10FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion13Fortgeschrittene Vektoren
Vektor-Slicing und -IndizierungLogische IndizierungVektorarithmetik & RecyclingDer %in%-Operator2Variablen und Datentypen
Numerischer DatentypGanzzahliger DatentypZeichen-DatentypLogischer DatentypDatentypen überprüfenNamenskonventionenFehlende Werte: NAZusammenfassung – Variablen erstellen5Entscheidungen treffen
If-AnweisungIf - ElseWiederholung – Einfacher TaschenrechnerVerschachteltes If - Else8Schleifen
For-SchleifeWhile-SchleifeBreakNext (Continue)Wiederholung – FakultätSequenzgenerierung (seq, :)Verschachtelte SchleifenWiederholung – Dynamische Eingabe3Operatoren Teil 1
Arithmetische OperatorenGanzzahldivision und ModuloZuweisungsoperatorenRückblick – Einfache MathematikVergleichsoperatoren6Grundlegende Ein- und Ausgabe
Ausgabe mit printcat zur AusgabeAusgabe mit VariablenEingaben mit readline() lesenGrundlagen der TypkonvertierungRückblick – AltersrechnerRückblick – Wahr oder falsch9Funktionen
Eine Funktion deklarierenFunktionsargumenteRückgabewerteWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardparameterwerteÜbe selbstständig: Online-R-Compiler