Menu
CoddyTech

Menelusuri Nama

Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 10 dari 64.

for loop pada names(x) mengunjungi setiap kunci, dan x[[key]] memberikan nilai untuk kunci tersebut:

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

Output:

ada scored 91 
bo scored 78 
cy scored 85 

Entri mempertahankan urutan saat ditambahkan. Lakukan perulangan pada sort(names(x)) untuk mengurutkannya secara alfabetis:

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

Output:

ada 91 
bo 78 
cy 85 

Melakukan perulangan pada input dan memperbarui tabel pencarian akan menghitung berapa kali setiap nilai muncul. Saat pertama kali sebuah kata terlihat, nilainya menjadi 1, lalu bertambah 1 setiap kali muncul lagi:

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))

Output:

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

Untuk menyusun baris output, kumpulkan baris-baris tersebut dalam sebuah vector di dalam perulangan, lalu kembalikan atau cetak semuanya di akhir:

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

Output:

ada: 91
bo: 78
challenge icon

Tantangan

Mudah

Lengkapi word_counts(words). Kembalikan satu baris untuk setiap kata yang berbeda, dalam urutan alfabetis, dengan format word: count.

Kode yang disediakan membaca kata-kata dalam satu baris yang dipisahkan oleh spasi dan mencetak setiap baris yang dikembalikan.

Coba sendiri

word_counts <- function(words) {
  # Tulis kodemu di sini
  character(0)
}

# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(word_counts(strsplit(input[1], " ")[[1]]), sep = "\n")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler R online