Génération de séquences (seq, :)
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 43 sur 78.
Vous avez utilisé 1:5 pour créer des séquences dans vos boucles. Cet opérateur deux-points est rapide et simple, mais R propose également la fonction seq() pour plus de contrôle sur vos séquences.
L'opérateur deux-points crée une séquence d'entiers consécutifs :
print(1:5)
print(10:6)Sortie :
[1] 1 2 3 4 5
[1] 10 9 8 7 6Remarquez que la séquence peut aller dans les deux sens. Lorsque le premier nombre est plus grand, elle compte à rebours.
La fonction seq() vous offre plus de flexibilité. Vous pouvez spécifier un pas en utilisant l'argument by :
print(seq(2, 10, by = 2))Sortie :
[1] 2 4 6 8 10Cela crée les nombres pairs de 2 à 10.
Vous pouvez également spécifier combien de nombres vous souhaitez en utilisant length.out :
print(seq(1, 10, length.out = 4))Sortie :
[1] 1 4 7 10R calcule automatiquement l'espacement pour vous donner exactement 4 nombres régulièrement espacés. Les deux approches fonctionnent parfaitement dans des boucles, vous permettant de parcourir des séquences personnalisées avec facilité.
Défi
FacileLisez trois nombres à partir de l'entrée : start, end, et step.
Utilisez la fonction seq() pour générer une séquence de start à end avec la taille de step donnée. Ensuite, utilisez une boucle for pour parcourir cette séquence et afficher le carré de chaque nombre.
Chaque valeur au carré doit être affichée sur sa propre ligne à l'aide de print().
Par exemple, si les entrées sont 2, 10, et 2, la sortie devrait être :
[1] 4
[1] 16
[1] 36
[1] 64
[1] 100C'est parce que la séquence 2, 4, 6, 8, 10 est générée, et chaque nombre est élevé au carré.
Aide-mémoire
L'opérateur deux-points : crée des séquences d'entiers consécutifs :
1:5 # crée 1 2 3 4 5
10:6 # crée 10 9 8 7 6 (compte à rebours)La fonction seq() permet un meilleur contrôle sur les séquences :
# Spécifier le pas avec 'by'
seq(2, 10, by = 2) # crée 2 4 6 8 10
# Spécifier le nombre de valeurs avec 'length.out'
seq(1, 10, length.out = 4) # crée 1 4 7 10L'opérateur deux-points ainsi que seq() fonctionnent dans les boucles for :
for (i in seq(2, 10, by = 2)) {
print(i)
}Essayez vous-même
# Lire l'entrée
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: Écrivez votre code ci-dessous
# 1. Utilisez seq() pour générer une séquence de start à end avec le pas (step) donné
# 2. Utilisez une boucle for pour parcourir la séquence
# 3. Affichez le carré de chaque nombre en utilisant print()Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 2
Opérateurs logiques (AND, OR)Opérateurs logiques - Partie 2 (NOT)Récapitulatif - Logique simpleLogique vectorisée - Partie 1Logique vectorisée - Partie 27Calculateur de partage d'addition
Message de bienvenueRécupérer la saisie utilisateur10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz2Variables et types de données
Type de données numériqueType de données entierType de données caractèreType de données logiqueVérification des types de donnéesConventions de nommageValeurs manquantes : NARécapitulatif - Création de variables8Boucles
Boucle ForBoucle WhileBreakSuivant (Continue)Récapitulatif - FactorielleGénération de séquences (seq, :)Boucles imbriquéesRécapitulatif - Saisie dynamique3Opérateurs, partie 1
Opérateurs arithmétiquesDivision entière et moduloOpérateurs d'affectationRécapitulatif - Mathématiques simplesOpérateurs de comparaison6Entrées/Sorties de base
Affichage avec PrintCat pour l'affichageAffichage avec des variablesLire l'entrée avec readline()Bases de la conversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArguments de fonctionValeurs de retourRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs de paramètres par défaut