Menu
Coddy logo textTech

사용자 입력 받기

Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 34번째.

challenge icon

챌린지

쉬움

이전 레슨에서 Bill Split Calculator를 위한 환영 메시지를 만들었습니다. 이제 청구서 계산을 위해 사용자 입력을 수집하는 기능을 추가해 보겠습니다.

기존 환영 메시지 다음에 사용자로부터 세 가지 입력을 읽어오세요:

  1. 총 청구 금액
  2. 팁 백분율 (정수로 입력, 예: 15%인 경우 15)
  3. 비용을 나눌 인원수

(이 플랫폼과 같이) 비대화형으로 실행되는 R 스크립트에서는 표준 입력 스트림에서 입력을 읽습니다. 이를 위해 먼저 file()을 사용하여 stdin에 대한 연결을 열고, readLines()로 각 줄을 읽은 다음, 완료되면 연결을 닫습니다:

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)

각 부분의 역할은 다음과 같습니다:

  • file("stdin", "r") — 읽기를 위해 표준 입력 스트림을 열고 이를 con에 저장합니다.
  • readLines(con, n = 1) — 해당 연결에서 정확히 한 줄을 읽습니다.
  • suppressWarnings(...) — 이런 방식으로 stdin에서 읽을 때 발생하는 무해한 경고를 숨깁니다.
  • as.numeric(...) — 텍스트 입력을 숫자로 변환합니다.
  • close(con) — 모든 입력을 읽은 후 연결을 닫습니다.

세 개의 값을 bill, tip_percent, people이라는 이름의 변수에 저장하세요.

입력을 읽은 후, 입력된 내용을 다음 형식으로 보여주는 확인 메시지를 표시하세요:

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

모든 출력에는 cat()을 사용하고 필요한 곳에 줄 바꿈 문자 \n을 포함하세요. 원치 않는 공백을 피하기 위해 각 cat() 호출에서 sep = ""를 사용하세요.

예를 들어, 입력값이 120, 18, 4인 경우 전체 출력은 다음과 같아야 합니다:

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

직접 해보기

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

기초의 모든 레슨