Menu
Coddy logo textTech

Récupérer la saisie utilisateur

Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 34 sur 78.

challenge icon

Défi

Facile

Dans 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 :

  1. Le montant total de la facture
  2. Le pourcentage de pourboire (sous forme de nombre entier, par exemple, 15 pour 15 %)
  3. 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 dans con
  • readLines(con, n = 1) — lit exactement une ligne de cette connexion
  • suppressWarnings(...) — réduit au silence les avertissements inoffensifs qui apparaissent lors de la lecture de stdin de cette manière
  • as.numeric(...) — convertit l'entrée textuelle en un nombre
  • close(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: 4

Essayez 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