Récupérer la saisie utilisateur
Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 34 sur 78.
Défi
FacileDans la leçon précédente, vous avez créé un message de bienvenue pour le Bill Split Calculator. Maintenant, ajoutez la fonctionnalité pour collecter les entrées de l'utilisateur pour le calcul de la facture.
Après votre message de bienvenue existant, lisez trois entrées de l'utilisateur :
- Le montant total de la facture
- Le pourcentage de pourboire (sous forme de nombre entier, par exemple,
15pour 15 %) - Le nombre de personnes partageant la facture
Dans les scripts R qui s'exécutent de manière non interactive (comme sur cette plateforme), l'entrée est lue à partir du flux d'entrée standard. Pour ce faire, ouvrez d'abord une connexion à stdin en utilisant file(), puis lisez chaque ligne avec readLines(), et fermez la connexion une fois terminé :
con <- file("stdin", "r")
bill <- as.numeric(suppressWarnings(readLines(con, n = 1)))
tip_percent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
people <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)Voici ce que fait chaque partie :
file("stdin", "r")— ouvre le flux d'entrée standard pour la lecture et le stocke dansconreadLines(con, n = 1)— lit exactement une ligne de cette connexionsuppressWarnings(...)— réduit au silence les avertissements inoffensifs qui apparaissent lors de la lecture destdinde cette manièreas.numeric(...)— convertit l'entrée textuelle en un nombreclose(con)— ferme la connexion après que toutes les entrées ont été lues
Stockez les trois valeurs dans des variables nommées bill, tip_percent, et people.
Après avoir lu les entrées, affichez un message de confirmation montrant ce qui a été saisi au format suivant :
Bill: $[bill]
Tip: [tip_percent]%
People: [people]Utilisez cat() pour toutes les sorties et incluez des caractères de nouvelle ligne \n là où c'est nécessaire. Utilisez sep = "" dans chaque appel cat() pour éviter les espaces indésirables.
Par exemple, si les entrées sont 120, 18, et 4, la sortie complète doit être :
Welcome to the Bill Split Calculator!
Let's split your bill fairly.
Bill: $120
Tip: 18%
People: 4Essayez vous-même
# TODO: Write your code below
# Use cat() to display the welcome message
# Remember to use \n for new lines
cat("Welcome to the Bill Split Calculator!\nLet's split your bill fairly.\n")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