Menu
Coddy logo textTech

Obtener la entrada del usuario

Parte de la sección Fundamentos del Journey de R de Coddy — lección 34 de 78.

challenge icon

Desafío

Fácil

En la lección anterior, creaste un mensaje de bienvenida para la Calculadora de División de Cuentas. Ahora, añade la funcionalidad para recopilar la entrada del usuario para el cálculo de la cuenta.

Después de tu mensaje de bienvenida existente, lee tres entradas del usuario:

  1. El monto total de la cuenta
  2. El porcentaje de propina (como un número entero, por ejemplo, 15 para 15%)
  3. El número de personas que dividen la cuenta

En los scripts de R que se ejecutan de forma no interactiva (como en esta plataforma), la entrada se lee desde el flujo de entrada estándar. Para hacer esto, primero abre una conexión a stdin usando file(), luego lee cada línea con readLines() y cierra la conexión cuando termines:

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)

Aquí está lo que hace cada parte:

  • file("stdin", "r") — abre el flujo de entrada estándar para lectura y lo almacena en con
  • readLines(con, n = 1) — lee exactamente una línea de esa conexión
  • suppressWarnings(...) — silencia advertencias inofensivas que aparecen al leer de stdin de esta manera
  • as.numeric(...) — convierte la entrada de texto en un número
  • close(con) — cierra la conexión después de que se hayan leído todas las entradas

Almacena los tres valores en variables llamadas bill, tip_percent y people.

Después de leer las entradas, muestra un mensaje de confirmación que muestre lo que se ingresó en el siguiente formato:

Bill: $[bill]
Tip: [tip_percent]%
People: [people]

Usa cat() para toda la salida e incluye caracteres de nueva línea \n donde sea necesario. Usa sep = "" en cada llamada a cat() para evitar espacios no deseados.

Por ejemplo, si las entradas son 120, 18 y 4, la salida completa debería ser:

Welcome to the Bill Split Calculator!
Let's split your bill fairly.
Bill: $120
Tip: 18%
People: 4

Pruébalo tú mismo

# 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")

Todas las lecciones de Fundamentos