使用Racket创建一个函数,如果所有数字都是奇数,则返回布尔值?甚至?

使用Racket创建一个函数,如果所有数字都是奇数,则返回布尔值?甚至?,racket,Racket,我被这个问题困住了。事实上,代码一直在运行,并且没有结束。有什么建议吗 (选中expect(所有元素?偶数?(列表1 2 3))false) (选中expect(所有元素?偶数?(列表2 4 6))true) (选中expect(所有元素?奇数?(列表1 3 5))true) (定义(所有元素?谓词lst) (续) [(空?lst)假] [(谓词(第一个lst))true] [其他(所有元素?谓词lst)] ) ) 不同的方法: 或作为可变函数: (define (all-elements? p

我被这个问题困住了。事实上,代码一直在运行,并且没有结束。有什么建议吗

(选中expect(所有元素?偶数?(列表1 2 3))false)

(选中expect(所有元素?偶数?(列表2 4 6))true)

(选中expect(所有元素?奇数?(列表1 3 5))true)

(定义(所有元素?谓词lst)

(续)

[(空?lst)假]

[(谓词(第一个lst))true]

[其他(所有元素?谓词lst)] ) )

不同的方法:

或作为可变函数:

(define (all-elements? predicate . args) 
  (foldr my-and (map predicate args)))
然后可以键入:

(all-elements? odd? 1 3 5 7 9) ;; #t

谢谢王进。“我肯定是想得太多了。”欢迎苏珊娜!
(all-elements? odd? '(1 3 5))
;; #t
(define (all-elements? predicate . args) 
  (foldr my-and (map predicate args)))
(all-elements? odd? 1 3 5 7 9) ;; #t