我试图在Scheme中定义一个函数来确定一个五元素列表是否包含一个完整的房子(也就是说,3个元素是相同的,另外两个是相同的)。虽然我搞砸了语法,但我的脑海中有一个轮廓。我正在尝试使用和尝试这样做。输入是一个列表(5个元素,编号1-13),输出是布尔值。以下是我到目前为止的情况:
if(s.getSid()== sG.getSid())
感谢您的帮助
答案 0 :(得分:2)
你很亲密 - 但首先要确保你理解 是一个完整的房子,以及在这种情况下使用布尔连接器的正确方法。试试这个:
(define is-full-house?
(lambda (listy)
(let ((sorted-list (sort listy <=)))
(or
(and
(= (first sorted-list) (second sorted-list) (third sorted-list))
(= (fourth sorted-list) (fifth sorted-list)))
(and
(= (first sorted-list) (second sorted-list))
(= (third sorted-list) (fourth sorted-list) (fifth sorted-list)))))))