Thử thách này được lấy cảm hứng từ một loạt sách thiếu nhi của Fiona Watt và Rachel Wells, mà gần đây tôi đã được thưởng thức với con gái mình.
Trong mỗi cuốn sách, một con chuột (được minh họa, nhưng không phải là một phần của văn bản) phàn nàn rằng một chuỗi 5 điều cùng loại không phải là điều của nó. Sau đó, nó ủng hộ điều này bằng cách tuyên bố rằng một số thành phần của sự vật không có tài sản mà nó mong đợi.
Vào lần thứ sáu của câu hỏi, con chuột tìm thấy điều của nó và hài lòng vì nó có tài sản dự kiến.
Đây là văn bản của một ví dụ điển hình:
That's not my bunny, its tail is too fluffy.
That's not my bunny, its paws are too rough.
That's not my bunny, its tail is too woolly.
That's not my bunny, its eyes are too shiny.
That's not my bunny, its nose is too wrinkled.
That's my bunny! Its ears are so soft.
Bây giờ, hầu hết dân gian lập trình sẽ nhận ra rằng đây là một phương pháp rất thuật toán để tạo ra một số văn bản. Bởi vì đó là một quá trình rõ ràng, chúng ta sẽ có thể tái tạo điều này bằng cách viết một số mã.
Hãy bắt đầu với ba bộ sưu tập các từ:
things = ["dinosaur", "lamb", "princess", "reindeer", "train"]
parts = ["back", "bells", "body", "bows", "crown", "dress", "ears",
"engine", "fan", "flippers", "funnel", "hooves", "horns", "neck",
"nose", "roof", "sash", "side", "spines", "spots", "tail", "teeth",
"tiara", "wheels", "windows"]
properties = ["bumpy", "fluffy", "furry", "fuzzy", "glittery", "glossy",
"hairy", "red", "rough", "rusty", "shiny", "silky", "slippery",
"soft", "sparkly", "squashy", "thick", "velvety", "woolly"]
- Đầu tiên, chúng tôi quyết định loại nào chúng tôi sẽ mô tả.
- Sau đó 5 lần, chúng tôi sẽ tạo ra dòng "Đó không phải là [thứ] của tôi, [phần] của nó quá [thuộc tính].
- Cuối cùng, chúng tôi tạo ra dòng "Đó là [thứ] của tôi! [Phần] của nó là [tài sản]!
Các thách thức
- Tạo văn bản của câu chuyện "Đó không phải là ..." của tôi.
- Nó không nhất quán phải sao chép cùng một văn bản.
- Đó là mã golf, vì vậy hãy thử làm như vậy với số byte nhỏ nhất.
- Sử dụng bất kỳ ngôn ngữ nào bạn muốn.
- Khoảng trắng không quan trọng, nhưng phải có một ký tự dòng mới giữa các dòng.
- Danh sách các từ nguồn không phải là một phần câu trả lời của bạn (trong TIO chúng có thể được thêm vào tiêu đề).
- Bạn có thể đổi tên danh sách các từ nguồn.
- Đầu ra có thể là đầu ra cho một thiết bị đầu cuối hoặc văn bản được tạo thành một đối tượng.
- Vui lòng bao gồm một liên kết đến một thông dịch viên trực tuyến.
- Bỏ qua số nhiều, "sừng của nó là" là tốt.
- Nó không cần phải có ý nghĩa. Nếu phễu của công chúa của bạn quá mịn, chỉ cần nói như vậy.
Đầu ra mẫu:
That's not my train, its engine is too rusty.
That's not my train, its hooves is too thick.
That's not my train, its sash is too fuzzy.
That's not my train, its tail is too velvety.
That's not my train, its horns is too glittery.
That's my train! Its hooves is so hairy.
Chúc bạn chơi golf vui vẻ!