我收到了颠倒的信件。 p
到d
我似乎无法做的是将一串字颠倒过来。与house
完全相同,ǝsnoɥ
。任何帮助,将不胜感激。我刚刚完成了。我正在使用列表缩写的初学者。
#;(first (first l2))
#;(first (rest l2))
#;(first (rest (first l2)))
(define (helper character list)
(cond [(string=? character (first (first list))) (first (rest (first list)))]
[else (helper character (rest list))]))
(check-expect (helper "p" table-1) "d")
(check-expect (helper "t" table-1) "ʇ")
;;_______________________________________________________________________________
(define (upside-down string)
(upside-down "cat")
答案 0 :(得分:1)
关于helper
程序的几条评论:
character
不在列表中,您应该为案例添加额外条件 - 如果发生这种情况,只需返回相同的character
。否则,将发生错误list
,这是一个内置程序,覆盖它是一种不好的做法一旦整理好了,以下是如何实施upside-down
,填写空白:
(define (upside-down str)
(<???> ; finally, do the opposite of explode on the list
(map (lambda (c) ; map over each of the characters
(<???> <???> <???>)) ; call helper on the character
(<???> (<???> str))))) ; reverse the exploded string
如果您不允许使用map
或lambda
,请实施convert
过程,该过程迭代字符串中的每个字符并应用helper
每一个,返回一个包含应用结果的列表 - 基本上,实现你自己的map
始终将helper
应用于输入列表中的每个元素:
(define (convert lst)
<???>)
(convert '("c" "a" "t"))
=> '("ɔ" "ɐ" "ʇ")
现在我们可以使用upside-down
编写convert
:
(define (upside-down str)
(<???> ; finally, do the opposite of explode on the list
(convert ; use our shiny new procedure
(<???> (<???> str))))) ; reverse the exploded string