Kullanıcıdan Girdi Alma
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 34 / 78.
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:
- Toplam fatura tutarı
- Bahşiş yüzdesi (tam sayı olarak, örneğin %15 için
15) - 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 bunuconiçinde saklarreadLines(con, n = 1)— bu bağlantıdan tam olarak bir satır okursuppressWarnings(...)—stdin'den bu şekilde okuma yaparken ortaya çıkan zararsız uyarıları sustururas.numeric(...)— metin girişini bir sayıya dönüştürürclose(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: 4Kendin 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
4Operatörler Bölüm 2
Mantıksal Operatörler (AND, OR)Mantıksal Operatörler Bölüm 2 (NOT)Özet - Basit MantıkVektörize Mantık Bölüm 1Vektörize Mantık Bölüm 27Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcıdan Girdi Alma10Farklı Bir FizzBuzz
Oyuna Genel BakışFizzBuzz Fonksiyonu2Değişkenler ve Veri Tipleri
Sayısal Veri TipiTam Sayı Veri TipiKarakter Veri TipiMantıksal Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıEksik Değerler: NAÖzet - Değişken Oluşturma8Döngüler
For DöngüsüWhile DöngüsüBreakNext (Continue)Özet - FaktöriyelDizi Oluşturma (seq, :)İç İçe DöngülerÖzet - Dinamik Girdi3Operatörler 1. Bölüm
Aritmetik OperatörlerTam Sayı Bölmesi ve Mod AlmaAtama OperatörleriÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel Giriş-Çıkış
Print ÇıktısıÇıktı için Cat KullanımıDeğişkenlerle Çıktı Almakreadline() ile Girdi OkumaTip Dönüşümü TemelleriÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Fonksiyonlar
Fonksiyon TanımlamaFonksiyon ArgümanlarıDönüş DeğerleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Parametre Değerleri