Menu
Coddy logo textTech

Poser des questions

Fait partie de la section Logique et Flux du Journey Swift de Coddy — leçon 50 sur 56.

La première fonctionnalité : poser chaque question dans l'ordre et afficher si chaque réponse était correcte.

La banque de questions est codée en dur pour cette leçon, les réponses du joueur proviennent de stdin (une par ligne, dans l'ordre).

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

Lisez de haut en bas : affichez la question, lisez une ligne, comparez. La leçon suivante assouplit cette comparaison stricte afin qu'elle n'échoue pas à cause de la casse ou d'espaces superflus.

challenge icon

Défi

Facile

La banque questions est fournie. Lisez trois lignes depuis stdin (les réponses du joueur, dans l'ordre). Pour chaque question, affichez :

  1. Le texte de la question sur sa propre ligne
  2. correct lorsque la réponse donnée est exactement égale à la réponse enregistrée, sinon wrong

Après les trois questions, affichez Score: <n>/3 avec le nombre de réponses correctes.

Pour l'entrée 4 / Paris / red, la sortie est :

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

Aide-mémoire

Itérez sur un tableau de tuples de questions, lisez les réponses depuis stdin et comparez :

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

Essayez vous-même

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

// À FAIRE : pour chaque question, afficher le texte, lire la réponse, afficher correct/incorrect ;
// puis afficher 'Score : <n>/3'
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux