sprintf() ile Biçimlendirme
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 2 / 64.
sprintf() bir şablondan dize oluşturur. Her % yer tutucusu bir sonraki bağımsız değişkenle değiştirilir: metin için %s, tam sayılar için %d ve ondalık sayılar için %f.
name <- "Ada"
age <- 36
print(sprintf("%s is %d years old", name, age))Çıktı:
[1] "Ada is 36 years old"%d yalnızca tam sayıları kabul eder: sprintf("%d", 2.5) bir hatayla durur.
% ile f arasındaki hassasiyet, ondalık basamak sayısını belirler; bu nedenle %.2f iki basamağa yuvarlar:
total <- 3 * 4.5 * 1.2
print(sprintf("Total: %.2f", total))Çıktı:
[1] "Total: 16.20"Bir genişlik, değeri belirtilen karakter sayısına tamamlar: %5d sola, %-6s sağa, %03d ise sıfırlarla tamamlar. %% bir yüzde işareti yazdırır.
print(sprintf("[%5d]", 42))
print(sprintf("[%-6s]", "tea"))
print(sprintf("%03d", 7))
print(sprintf("%d%%", 85))Çıktı:
[1] "[ 42]"
[1] "[tea ]"
[1] "007"
[1] "85%"sprintf() vektörleştirilmiştir: vektör bağımsız değişkenleriyle her öğe için bir dize döndürür. cat(), sep = "\n" ile her dizeyi kendi satırında yazdırır.
items <- c("tea", "cake")
prices <- c(4, 12.5)
lines <- sprintf("%-5s %6.2f", items, prices)
cat(lines, sep = "\n")Çıktı:
tea 4.00
cake 12.50Görev
Kolayreceipt_line(item, qty, price) işlevini tamamla. Ögeyi, miktarı ve satır toplamını (qty * price) tea x3 = 13.50 biçiminde döndür: öge, bir boşluk, miktarın ardından x, sonra = ve tam olarak iki ondalık basamaklı toplam.
Sağlanan kod, ögeyi, miktarı ve fiyatı (her satırda bir tane) okur ve döndürülen değeri yazdırır.
Kendin dene
receipt_line <- function(item, qty, price) {
# Kodunuzu buraya yazın
""
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(receipt_line(input[1], as.integer(input[2]), as.numeric(input[3])), sep = "\n")
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Dizeleri Derinlemesine
substr() ile Alt Dizelersprintf() ile BiçimlendirmeBölme ve BirleştirmeDizelerde AramaMetin DeğiştirmeTekrar - Kullanıcı Adı Oluşturucu4Matrisler
Matris OluşturmaMatrisleri İndekslemeSatır ve Sütun ÖzetleriMatris AritmetiğiTekrar - Oturma Planı2Anahtar-Değer Aramaları
Adlandırılmış Vektör AramalarıAnahtarları DenetlemeAnahtar Ekleme ve KaldırmaAdlar Üzerinde DöngüTekrar - Hisse Senedi Masası5Proje - Not Defteri
Öğrenci EklemeNotları Kaydetme3Kümeler ve Sayma
Benzersiz DeğerlerKüme İşlemleriÜyelik Testleritable() ile SaymaTekrar - Etkinlik Konukları6Değer Olarak Fonksiyonlar
Anonim FonksiyonlarFonksiyonları GeçirmeFonksiyon DöndürmeDurum Bilgili Closure'larTekrar - İndirim Kuralları9Veri Çerçeveleri
Veri Çerçeveleri OluşturmaSütunlar ve SatırlarSatırları FiltrelemeEkleme ve SıralamaTekrar - Satış Raporu12Proje - Harcama Takipçisi
Harcamaları KaydetmeToplam HarcamaKendi başına pratik yap: Online R derleyicisi