Lire l'entrée avec readline()
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 29 sur 78.
Jusqu'à présent, vous avez appris comment afficher des sorties. Il est maintenant temps de rendre vos programmes interactifs en lisant les entrées de l'utilisateur. La fonction readline() vous permet de capturer ce que l'utilisateur saisit.
name <- readline()
cat("Hello,", name, "\n")Lorsque ce code s'exécute, R attend que l'utilisateur saisisse quelque chose et appuie sur Entrée. Tout ce qu'il saisit est stocké dans la variable name. Si l'utilisateur saisit "Alice", la sortie sera : Hello, Alice
Une chose importante à savoir : readline() renvoie toujours une chaîne de caractères, même si l'utilisateur saisit un nombre. Si quelqu'un saisit "25", c'est stocké sous forme de texte "25", et non le nombre 25. Vous apprendrez comment convertir les types dans la prochaine leçon.
Vous pouvez lire plusieurs entrées en utilisant readline() plusieurs fois :
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")Chaque appel à readline() attend une ligne d'entrée distincte de la part de l'utilisateur.
Lorsque vous avez besoin de joindre des chaînes de caractères sans aucun espace entre elles, utilisez paste0(). Contrairement à cat(), qui ajoute un espace entre chaque élément, paste0() concatène les valeurs directement :
city <- readline()
cat(paste0("Welcome to ", city, "!"), "\n")Ici, paste0() construit la chaîne Welcome to Paris! sans espaces indésirables avant le !, puis cat() l'affiche.
Défi
FacileLisez deux lignes d'entrée et affichez un message d'accueil personnalisé.
Vous recevrez deux entrées :
- Un prénom
- Un nom de ville
Lisez les deux entrées en utilisant readline() et affichez un message au format suivant :
Welcome, [name] from [city]!Utilisez cat() pour produire la sortie. Assurez-vous d'inclure le point d'exclamation à la fin et un caractère de nouvelle ligne \n.
Par exemple, si les entrées sont Emma et Paris, la sortie devrait être :
Welcome, Emma from Paris!Aide-mémoire
Pour lire la saisie de l'utilisateur, utilisez la fonction readline() :
name <- readline()
cat("Hello,", name, "\n")La fonction readline() attend que l'utilisateur saisisse quelque chose et appuie sur Entrée. La saisie est stockée sous forme de chaîne de caractères.
Pour lire plusieurs saisies, utilisez readline() plusieurs fois :
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")Remarque : readline() renvoie toujours une chaîne de caractères, même si l'utilisateur saisit un nombre.
Utilisez cat() pour afficher des valeurs séparées par des espaces. Utilisez paste0() pour joindre des valeurs sans espaces entre elles :
name <- readline()
cat(paste0("Hello, ", name, "!"))Dans cet exemple, paste0() combine "Hello, ", la valeur stockée dans name, et "!" en une seule chaîne sans espaces supplémentaires.
Essayez vous-même
# Lire l'entrée
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))
# TODO: Écrivez votre code ci-dessous pour afficher le message d'accueil
# Utilisez cat() pour afficher : Welcome, [name] from [city]!
# N'oubliez pas le caractère de nouvelle ligne \n à la finCette 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