Menu
Coddy logo textTech

Testes de Pertinência

Parte da seção Lógica e Fluxo do Journey de R da Coddy. Lição 14 de 64.

x %in% set verifica cada elemento de x e retorna um valor lógico por elemento. all() pergunta se todas as verificações são TRUE, e any(), se pelo menos uma é.

required <- c("flour", "eggs", "milk")
pantry <- c("eggs", "salt", "flour")
print(required %in% pantry)
print(all(required %in% pantry))
print(any(required %in% pantry))

Saída:

[1]  TRUE  TRUE FALSE
[1] FALSE
[1] TRUE

Indexe com a verificação negada para listar o que está faltando, na ordem do primeiro vetor:

required <- c("flour", "eggs", "milk", "sugar")
pantry <- c("eggs", "flour")
missing <- required[!(required %in% pantry)]
print(missing)

Saída:

[1] "milk"  "sugar"

setequal(a, b) verifica se dois vetores contêm os mesmos valores, ignorando a ordem e as repetições:

print(setequal(c("a", "b"), c("b", "a", "a")))
print(setequal(c("a", "b"), c("a", "c")))

Saída:

[1] TRUE
[1] FALSE

Em um vetor vazio, all() é TRUE e any() é FALSE: quando nada é necessário, nada está faltando.

which() transforma um vetor lógico nas posições de seus valores TRUE, informando onde estão as correspondências:

required <- c("flour", "eggs", "milk")
pantry <- c("eggs")
print(which(!(required %in% pantry)))

Saída:

[1] 1 3
challenge icon

Desafio

Fácil

Complete check_recipe(required, pantry). Retorne ready quando todos os ingredientes necessários estiverem na despensa. Caso contrário, retorne missing: seguido pelos ingredientes ausentes, na ordem de required, unidos por , .

O código fornecido lê os ingredientes necessários e a despensa como linhas separadas por vírgulas e imprime o valor retornado.

Experimente você mesmo

check_recipe <- function(required, pantry) {
  # Escreva seu código aqui
  ""
}

# Código de entrada/saída fornecido: mantenha-o como está
input <- suppressWarnings(readLines(file("stdin")))
cat(check_recipe(strsplit(input[1], ",")[[1]], strsplit(input[2], ",")[[1]]), sep = "\n")
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo

Pratique por conta própria: Compilador de R online