Menu
CoddyTech

Задаем вопросы

Часть раздела Логика и управление потоком путешествия по Swift на Coddy. Урок 50 из 56.

Первая функция: задавайте все вопросы по порядку и выводите, верен ли каждый ответ.

Банк вопросов жёстко задан для этого урока, ответы игрока считываются из stdin (по одному в строке, по порядку).

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

Читай сверху вниз: выведи вопрос, прочитай одну строку, сравни. В следующем уроке строгое сравнение будет смягчено, чтобы оно не завершалось ошибкой из-за заглавных букв или лишних пробелов.

challenge icon

Задание

Легко

Начни свою программу с этого набора questions вместо кода из предыдущего шага:

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

Считай три строки из стандартного ввода (ответы игрока по порядку). Для каждого вопроса выведи:

  1. Текст вопроса на отдельной строке
  2. correct, если данный ответ точно совпадает с сохранённым ответом, иначе wrong

После всех трёх вопросов выведи Score: <n>/3, где указано количество правильных ответов.

Для ввода 4 / Paris / red вывод будет таким:

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

Попробуйте сами

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

// TODO: для каждого вопроса выведите текст, считайте ответ, выведите correct/wrong;
// затем выведите 'Score: <n>/3'
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Песочница Swift