Задаем вопросы
Часть раздела Логика и управление потоком путешествия по 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")
}Читай сверху вниз: выведи вопрос, прочитай одну строку, сравни. В следующем уроке строгое сравнение будет смягчено, чтобы оно не завершалось ошибкой из-за заглавных букв или лишних пробелов.
Задание
ЛегкоНачни свою программу с этого набора questions вместо кода из предыдущего шага:
let questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "Paris"),
("science", "Color of grass?", "green")
]Считай три строки из стандартного ввода (ответы игрока по порядку). Для каждого вопроса выведи:
- Текст вопроса на отдельной строке
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'
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Строки в деталях
Подсчет и индексыРегистр и удаление пробеловПоиск в строкахРазделение и объединениеЗамена подстрокИтоги — Проверка имени пользователя4Множества
Создание множествОбъединение и пересечениеРазность и симметрическая разностьПодмножество и надмножествоИтоги — Фильтр тегов7Проект — Трекер привычек
Обзор проектаОтметить выполнение10Проект — Движок викторины
Обзор проектаЗадаем вопросы2Диапазоны и шаги
Закрытые и полуоткрытыеШагМетоды диапазоновДиапазоны в SwitchИтоги: Сетка календаряПотренируйтесь самостоятельно: Песочница Swift