我有一个字问题-印刷一本书的每一页要花费20美分(0.2美元)。除此之外,您还必须购买平装本($ 1)或精装本($ 2.5)。写一个产生总成本(以美元为单位)的函数? 到目前为止,这是我的代码(在代码中,“ n”是页面数,“ cover?”是我的布尔变量。
(define (total-cost n cover?)
(cond
[(paperback-cover? true) (+ 1 (* 0.2 n))]
[(hardback-cover? true) (+ 2.5 (* 0.2 n))]))
由于某种原因,我的代码无法正常工作。有人可以帮我吗。
答案 0 :(得分:0)
您可以做这样的事情
#lang racket
(define (total-cost n cover)
(if (equal? cover "paperback") (+ 1 (* 0.2 n)) (+ 2.5 (* 0.2 n)))
)
(println (total-cost 100 "paperback"))
(println (total-cost 100 "hardcover"))
答案 1 :(得分:0)
#lang racket
; order-form : number symbol -> number
(define (order-form pages cover-type)
(let* ([price-per-page 0.2]
[page-cost (* pages price-per-page)]
[cover-cost
(cond
[(equal? cover-type 'hardback) 2.5]
[(equal? cover-type 'paperback) 1])]
[total-cost (+ page-cost cover-cost)])
total-cost))
;;; TEST
(order-form 10 'paperback)
(order-form 10 'hardback)