Formatlı Çıktı (sprintf)
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası. Ders 37 / 78.
Görev
KolayÖnceki derste, tüm hesaplamaları içeren Fatura Bölüştürme Hesaplayıcısı'nı tamamladın. Şimdi, para tutarlarını tam olarak 2 ondalık basamakla görüntülemek için sprintf() kullanarak çıktı biçimlendirmesini iyileştir.
Dolar tutarlarını görüntüleyen çıktı satırlarını biçimlendirme için sprintf() kullanacak şekilde değiştir. sprintf() işlevi, 2 ondalık basamak için %.2f kullanarak sayıları belirli sayıda ondalık basamakla biçimlendirmeni sağlar.
Tüm para tutarlarını tam olarak 2 ondalık basamakla göstermek için aşağıdaki çıktı satırlarını güncelle:
Bill: $[bill]Tip amount: $[tip_amount]Total with tip: $[total]Each person pays: $[per_person]
Aritmetiği önceki derstekiyle tam olarak aynı tut: tip_amount <- bill * tip_percent / 100. Bunun yerine tip_percent / 100 ile çarpmak, sayı iki ondalık basamağa yuvarlandığında bir sentlik fark oluşmasına neden olabilir.
Her para değerini biçimlendirmek için sprintf() kullan. Örneğin, sprintf("%.2f", value) bir sayıyı 2 ondalık basamakla biçimlendirir.
Örneğin, girdiler 85.50, 18 ve 3 ise tam çıktı şöyle olmalıdır:
Welcome to the Bill Split Calculator!
Let's split your bill fairly.
Bill: $85.50
Tip: 18%
People: 3
Tip amount: $15.39
Total with tip: $100.89
Each person pays: $33.63Not: Bahşiş yüzdesi ve kişi sayısı, ondalık biçimlendirme olmadan tam sayı olarak kalmalıdır.
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")
# Read user inputs
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)
# Display confirmation message
cat("Bill: $", bill, "\n", sep = "")
cat("Tip: ", tip_percent, "%\n", sep = "")
cat("People: ", people, "\n", sep = "")
# Calculate tip amount and total
tip_amount <- bill * tip_percent / 100
total <- bill + tip_amount
# Display calculation results
cat("Tip amount: $", tip_amount, "\n", sep = "")
cat("Total with tip: $", total, "\n", sep = "")
# Calculate per person amount
per_person <- total / people
# Display per person amount
cat("Each person pays: $", per_person, "\n", sep = "")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ğerleriKendi başına pratik yap: Online R derleyicisi