Menu
Coddy logo textTech

Adlar Üzerinde Döngü

Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 10 / 64.

names(x) üzerinde bir for döngüsü her anahtarı ziyaret eder ve x[[key]] o anahtarın değerini verir:

scores <- c(ada = 91, bo = 78, cy = 85)
for (name in names(scores)) {
  cat(name, "scored", scores[[name]], "\n")
}

Çıktı:

ada scored 91 
bo scored 78 
cy scored 85 

Girdiler eklendikleri sırayı korur. Alfabetik sıra için sort(names(x)) üzerinde döngü oluşturun:

scores <- c(cy = 85, ada = 91, bo = 78)
for (name in sort(names(scores))) {
  cat(name, scores[[name]], "\n")
}

Çıktı:

ada 91 
bo 78 
cy 85 

Girdi üzerinde döngü oluşturmak ve bir arama tablosunu güncellemek, her değerin kaç kez göründüğünü sayar. Bir sözcük ilk kez görüldüğünde değeri 1 olur, sonrasında 1 artar:

words <- c("red", "blue", "red", "green", "red")
counts <- c()
for (w in words) {
  if (w %in% names(counts)) {
    counts[w] <- counts[w] + 1
  } else {
    counts[w] <- 1
  }
}
print(counts[["red"]])
print(names(counts))

Çıktı:

[1] 3
[1] "red"   "blue"  "green"

Çıktı satırlarını oluşturmak için bunları döngü içinde bir vektörde toplayın ve sonunda döndürün veya yazdırın:

scores <- c(ada = 91, bo = 78)
lines <- c()
for (name in names(scores)) {
  lines <- c(lines, paste0(name, ": ", scores[[name]]))
}
cat(lines, sep = "\n")

Çıktı:

ada: 91
bo: 78
challenge icon

Görev

Kolay

word_counts(words) işlevini tamamla. Her farklı sözcük için alfabetik sırada, word: count biçiminde bir satır döndür.

Sağlanan kod, sözcükleri boşluklarla ayrılmış tek bir satır olarak okur ve döndürülen her satırı yazdırır.

Kendin dene

word_counts <- function(words) {
  # Kodunuzu buraya yazın
  character(0)
}

# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(word_counts(strsplit(input[1], " ")[[1]]), sep = "\n")
quiz iconKendini test et

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

Kendi başına pratik yap: Online R derleyicisi