Menu
CoddyTech

Đặt câu hỏi

Thuộc phần Logic và luồng thực thi trong hành trình Swift của Coddy. Bài học 50 trên 56.

Tính năng đầu tiên: lần lượt đặt từng câu hỏi và in ra câu trả lời nào đúng.

Ngân hàng câu hỏi được viết cứng cho bài học này, câu trả lời của người chơi lấy từ stdin (mỗi dòng một câu, theo đúng thứ tự).

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

Đọc từ trên xuống dưới: in câu hỏi, đọc một dòng, so sánh. Bài học tiếp theo sẽ nới lỏng phép so sánh nghiêm ngặt này để không bị lỗi do khác biệt về chữ hoa hoặc khoảng trắng thừa.

challenge icon

Thử thách

Dễ

Ngân hàng questions đã có sẵn. Đọc ba dòng từ stdin (câu trả lời của người chơi, theo thứ tự). Với mỗi câu hỏi, hãy in ra:

  1. Nội dung câu hỏi trên một dòng riêng
  2. correct khi câu trả lời đã nhập khớp chính xác với câu trả lời được lưu, nếu không thì in wrong

Sau cả ba câu hỏi, in Score: <n>/3 với số câu trả lời đúng.

Với đầu vào 4 / Paris / red, đầu ra là:

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

Tự làm thử

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

// TODO: với mỗi câu hỏi, in ra (print) nội dung, đọc câu trả lời rồi in ra đúng hoặc sai;
// sau đó in ra 'Score: <n>/3'
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng thực thi

Tự luyện tập: Playground Swift