球拍-比较列表和值的两个列表问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了球拍-比较列表和值的两个列表问题相关的知识,希望对你有一定的参考价值。
我正在尝试编写一个使用目的地列表,对应于目的地的价格列表以及预算的函数。然后,它会生成代表目的地的字符串列表以及它们的价格(以空格分隔),这些价格根据预算是可以承受的。有人可以帮助我在代码中找到错误吗?它不能正常工作:(
(define (vacations destinations prices budget)
(cond
[(empty? destinations) empty]
[(<= budget (first prices)) (cons (string-append (first destinations) " " (int->string (first prices)))
(vacations (rest destinations) (rest prices) budget))]
[else (vacations (rest destinations) (rest prices) budget)]))
(check-expect (vacations (list "Maldives") (list 1599) 250) empty)
(check-expect (vacations(list "Maldives") (list 1599) 1599)
(list "Maldives 1599"))
(check-expect (vacations(list "Alberta" "BC" "Manitoba") (list 500 459 300) 460)
(list "BC 459" "Manitoba 300"))
答案
您的功能几乎正确。然后唯一的错误是条件运算符第二个分支中的比较运算符:
[(<= budget (first prices))
表示如果预算小于或等于价格,则将该地点视为可能的假期。
简单逆转条件:
[(>= budget (first prices))
:如果预算大于或等于价格,则将该地点视为可能的假期。
以上是关于球拍-比较列表和值的两个列表问题的主要内容,如果未能解决你的问题,请参考以下文章