Menu
Coddy logo textTech

Sequenzgenerierung (seq, :)

Teil des Abschnitts Grundlagen der R-Journey von Coddy — Lektion 43 von 78.

Sie haben 1:5 verwendet, um Sequenzen in Ihren Schleifen zu erstellen. Dieser Doppelpunkt-Operator ist schnell und einfach, aber R bietet auch die Funktion seq() für mehr Kontrolle über Ihre Sequenzen an.

Der Doppelpunkt-Operator erzeugt eine Sequenz von aufeinanderfolgenden Ganzzahlen:

print(1:5)
print(10:6)

Ausgabe:

[1] 1 2 3 4 5
[1] 10 9 8 7 6

Beachten Sie, dass die Sequenz in beide Richtungen verlaufen kann. Wenn die erste Zahl größer ist, zählt sie rückwärts.

Die seq()-Funktion bietet Ihnen mehr Flexibilität. Sie können eine Schrittweite mit dem by-Argument festlegen:

print(seq(2, 10, by = 2))

Ausgabe:

[1] 2 4 6 8 10

Dies erzeugt gerade Zahlen von 2 bis 10.

Sie können auch mit length.out angeben, wie viele Zahlen Sie erhalten möchten:

print(seq(1, 10, length.out = 4))

Ausgabe:

[1] 1 4 7 10

R berechnet automatisch den Abstand, um Ihnen genau 4 gleichmäßig verteilte Zahlen zu liefern. Beide Ansätze funktionieren nahtlos in Schleifen, sodass Sie mühelos durch benutzerdefinierte Sequenzen iterieren können.

challenge icon

Aufgabe

Einfach

Lies drei Zahlen aus der Eingabe: start, end und step.

Verwende die Funktion seq(), um eine Sequenz von start bis end mit der angegebenen Schrittweite step zu erzeugen. Verwende dann eine for-Schleife, um diese Sequenz zu durchlaufen und das Quadrat jeder Zahl auszugeben.

Jeder quadrierte Wert sollte in einer eigenen Zeile mit print() ausgegeben werden.

Wenn die Eingaben zum Beispiel 2, 10 und 2 sind, sollte die Ausgabe wie folgt aussehen:

[1] 4
[1] 16
[1] 36
[1] 64
[1] 100

Dies liegt daran, 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 unten
# 1. Verwende seq(), um eine Sequenz von start bis end mit der gegebenen step zu erzeugen
# 2. Verwende eine for-Schleife, um durch die Sequenz zu iterieren
# 3. Gib das Quadrat jeder Zahl mit print() aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen