Tekrar - Güvenli Hesap Makinesi
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 56 / 64.
Görev
Zorevaluate(expr) işlevini tamamla. Bir ifade, işlecin etrafında boşluklar bulunan <number> <operator> <number> biçimindedir; örneğin 8 / 2. Her sorun için stop() ile hata oluştur ve sorunları şu sırayla denetle:
- Tam olarak üç parça yoksa
expected: number operator number - Dönüştürülemeyen ilk sayı parçası için
'<part>' is not a number; örneğin'x' is not a number - İşleç
+,-,*veya/değilseunknown operator <op> division by zero
Aksi takdirde sonucu, round(value, 4) ile dört ondalık basamağa yuvarlanmış olarak döndür.
Ardından run_all(exprs) işlevini tamamla: her ifadeyi tryCatch() içinde değerlendir ve ifade başına bir satır döndür; örneğin 8 / 2 = 4 veya 5 / 0 -> error: division by zero.
Sağlanan kod, her giriş satırını run_all() işlevine aktarır ve döndürülen her satırı yazdırır.
Kendin dene
evaluate <- function(expr) {
# Kodunuzu buraya yazın
0
}
run_all <- function(exprs) {
# Kodunuzu buraya yazın
character(0)
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(run_all(input), sep = "\n")
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ı Kaydetme8Sıralama ve Gruplama
Vektörleri SıralamaAnahtara Göre Sıralamasplit() ile GruplamaGrup ÖzetleriTekrar - Liderlik Tablosu11Hataları Yönetme
stop() ile Hata OluşturmatryCatch() ile YakalamaUyarılar ve finallyGirdiyi DoğrulamaTekrar - Güvenli Hesap Makinesi3Kü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