질문하기
Coddy Swift 여정의 로직과 흐름 섹션에 포함된 레슨. 56개 중 50번째.
첫 번째 기능: 모든 질문을 순서대로 묻고 각 답이 맞았는지 출력합니다.
질문 목록은 이 레슨을 위해 하드코딩되어 있으며, 플레이어의 답은 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: 각 질문의 텍스트를 출력하고, 답을 입력받은 뒤, 정답/오답을 출력한다;
// 그런 다음 'Score: <n>/3'을 출력한다
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직과 흐름의 모든 레슨
직접 연습해 보세요: Swift 플레이그라운드