Tip Dönüşümü Temelleri
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 30 / 78.
Önceki derste belirtildiği gibi, readline() her zaman bir karakter dizisi döndürür. Eğer bir kullanıcı "25" yazarsa, 25 sayısını değil, "25" metnini alırsınız. Bu önemlidir çünkü metinlerle matematiksel işlem yapamazsınız.
Bir karakter dizisini sayıya dönüştürmek için as.numeric() kullanın:
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Çıktı: 50Kullanıcı girişiyle çalışırken bu çok önemlidir. İşte kullanacağınız yaygın bir kalıp:
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Ayrıca as.character() kullanarak ters yönde de dönüştürme yapabilirsiniz:
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Sayıları karakterlere dönüştürmek, onları diğer metinlerle birleştirmeniz gerektiğinde veya bir fonksiyon özellikle karakter girişi gerektirdiğinde yararlıdır. Bu dönüştürme fonksiyonları, programınız ihtiyaç duyduğunda veri türleri arasında geçiş yapmak için kullanacağınız araçlarınızdır.
Görev
KolayGirdi olarak iki sayısal değer okuyun, bir hesaplama yapın ve sonucu bir etiketle birlikte görüntüleyin.
İki girdi alacaksınız:
- Bir fiyat (dize olarak)
- Bir miktar (dize olarak)
as.numeric() kullanarak her iki girdiyi de sayısal değerlere dönüştürün, ardından fiyatı miktar ile çarparak toplam maliyeti hesaplayın.
Çıktıyı aşağıdaki formatta görüntüleyin:
Total: [result]Çıktı için cat() kullanın ve sonuna bir yeni satır karakteri \n ekleyin.
Örneğin, girdiler 15.50 ve 4 ise, çıktı şöyle olmalıdır:
Total: 62Kopya kağıdı
Bir karakter dizisini sayıya dönüştürmek için as.numeric() fonksiyonunu kullanın:
input <- "42"
number <- as.numeric(input)
cat(number + 8, "\n") # Çıktı: 50Kullanıcı girişini dönüştürmek için yaygın bir kalıp:
age_text <- readline()
age <- as.numeric(age_text)
cat("In 10 years, you will be", age + 10, "\n")Bir sayıyı karakter dizisine dönüştürmek için as.character() fonksiyonunu kullanın:
number <- 100
text <- as.character(number)
cat("The value is:", text, "\n")Kendin dene
# Girdiyi oku
con <- file("stdin", "r")
price_str <- suppressWarnings(readLines(con, n = 1))
quantity_str <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: Kodunuzu aşağıya yazın
# 1. as.numeric() kullanarak price_str ve quantity_str değerlerini sayısal değerlere dönüştürün
# 2. Toplam maliyeti hesaplayın (fiyat * miktar)
# 3. Sonucu "Total: [sonuç]\n" formatında cat() kullanarak görüntüleyinBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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