Đặ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.
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:
- Nội dung câu hỏi trên một dòng riêng
correctkhi 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ì inwrong
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/3Tự 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'
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
1Chuỗi chuyên sâu
Đếm và chỉ sốChữ hoa, chữ thường và xóa khoảng trắngTìm kiếm trong chuỗiTách và nối chuỗiThay thế chuỗi conÔn tập: Kiểm tra tên người dùng4Tập hợp
Tạo tập hợpPhép hợp và phép giaoPhép trừ và hiệu đối xứngTập con và tập hợp conÔn tập: Bộ lọc thẻ7Dự án: Theo dõi thói quen
Tổng quan dự ánĐánh dấu hoàn thành10Dự án: bộ máy trắc nghiệm
Tổng quan dự ánĐặt câu hỏiTự luyện tập: Playground Swift