Menu
Coddy logo textTech

Fazer Perguntas

Parte da seção Lógica e Fluxo do Journey de Swift da Coddy — lição 50 de 56.

O primeiro recurso: faça cada pergunta em ordem e imprima se cada resposta estava correta.

O banco de questões é codificado rigidamente para esta lição, as respostas do jogador vêm do stdin (uma por linha, em ordem).

let questions: [(String, String, String)] = [
    ("math", "2 + 2?", "4"),
    ("geo", "Capital of France?", "Paris")
]
for (_, text, answer) in questions {
    print(text)
    let given = readLine()!
    print(given == answer ? "correct" : "wrong")
}

Leia de cima para baixo: exiba a pergunta, leia uma linha, compare. A próxima lição suaviza essa comparação estrita para que não falhe por causa de letras maiúsculas ou espaços em branco extras.

challenge icon

Desafio

Fácil

O banco de questions é fornecido. Leia três linhas do stdin (as respostas do jogador, em ordem). Para cada pergunta, imprima:

  1. O texto da pergunta em sua própria linha
  2. correct quando a resposta fornecida for exatamente igual à resposta armazenada, caso contrário wrong

Após todas as três perguntas, imprima Score: <n>/3 com a contagem de respostas corretas.

Para a entrada 4 / Paris / red, a saída é:

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

Folha de consulta

Itere sobre um array de tuplas de perguntas, leia as respostas do stdin e compare:

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

var score = 0
for (_, text, answer) in questions {
    print(text)
    let given = readLine()!
    if given == answer {
        print("correct")
        score += 1
    } else {
        print("wrong")
    }
}
print("Score: \(score)/\(questions.count)")

Experimente você mesmo

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

// TODO: para cada pergunta, imprimir o texto, ler a resposta, imprimir correto/errado;
// depois imprimir '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