Menu
CoddyTech

Avaliação Flexível

Parte da seção Lógica e Fluxo do Journey de Swift da Coddy. Lição 51 de 56.

A igualdade estrita é rigorosa. Questionários reais aceitam paris, Paris e PARIS como a mesma resposta.

A receita do capítulo 1: remova os espaços em branco, converta os dois lados para minúsculas e compare:

func grade(_ given: String, _ answer: String) -> Bool {
    let g = given.trimmingCharacters(in: .whitespaces).lowercased()
    let a = answer.trimmingCharacters(in: .whitespaces).lowercased()
    return g == a
}

Esse é o tipo de função auxiliar que vale a pena separar em uma função própria. O loop do quiz fica mais fácil de ler com uma linha por pergunta, e a correção de bugs de amanhã acontece em um só lugar.

challenge icon

Desafio

Fácil

Defina uma função grade(_ given: String, _ answer: String) -> Bool que retorne true quando as duas strings corresponderem após remover os espaços em branco e converter ambos os lados para minúsculas.

Comece seu programa com este banco de questions, o mesmo da etapa anterior:

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris"),
    ("science", "Color of grass?", "green")
]

Leia três linhas da entrada padrão. Imprima, para cada pergunta:

  1. O texto da pergunta
  2. correct ou wrong, com base na comparação flexível

Após a execução, imprima Score: <n>/3.

Para a entrada 4 / PARIS / Green, a saída é:

2 + 2?
correct
Capital of France?
correct
Color of grass?
correct
Score: 3/3

Experimente você mesmo

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris"),
    ("science", "Color of grass?", "green")
]

// TODO: implementar func grade(_:_:)->Bool com trim + comparação em lowercase
// depois, percorra as perguntas, exiba cada pergunta, leia a resposta e exiba se está correta ou incorreta;
// termine com 'Score: <n>/3'
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: Playground de Swift