Menu
Coddy logo textTech

Kullanıcıdan Girdi Alma

Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 34 / 78.

challenge icon

Görev

Kolay

Önceki derste, Bill Split Calculator için bir karşılama mesajı oluşturdunuz. Şimdi, fatura hesaplaması için kullanıcı girişini toplama işlevini ekleyin.

Mevcut karşılama mesajınızdan sonra, kullanıcıdan üç giriş okuyun:

  1. Toplam fatura tutarı
  2. Bahşiş yüzdesi (tam sayı olarak, örneğin %15 için 15)
  3. Faturayı paylaşan kişi sayısı

Etkileşimli olmayan (bu platformdaki gibi) R betiklerinde, giriş standart giriş akışından (standard input stream) okunur. Bunu yapmak için önce file() kullanarak stdin'e bir bağlantı açın, ardından readLines() ile her satırı okuyun ve işiniz bittiğinde bağlantıyı kapatın:

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)

İşte her bir parçanın ne yaptığı:

  • file("stdin", "r") — okuma için standart giriş akışını açar ve bunu con içinde saklar
  • readLines(con, n = 1) — bu bağlantıdan tam olarak bir satır okur
  • suppressWarnings(...)stdin'den bu şekilde okuma yaparken ortaya çıkan zararsız uyarıları susturur
  • as.numeric(...) — metin girişini bir sayıya dönüştürür
  • close(con) — tüm girişler okunduktan sonra bağlantıyı kapatır

Üç değeri bill, tip_percent ve people adlı değişkenlerde saklayın.

Girişleri okuduktan sonra, girilenleri aşağıdaki formatta gösteren bir onay mesajı görüntüleyin:

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

Tüm çıktılar için cat() kullanın ve gereken yerlere yeni satır karakterleri \n ekleyin. İstenmeyen boşluklardan kaçınmak için her cat() çağrısında sep = "" kullanın.

Örneğin, girişler 120, 18 ve 4 ise, tam çıktı şu şekilde olmalıdır:

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

Kendin dene

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

Temeller bölümündeki tüm dersler