Racket 带条件语句错误的BMI计算器球拍

Racket 带条件语句错误的BMI计算器球拍,racket,Racket,我试图在racket中创建一个简单的体重指数计算器,但我找不到使用条件的方法,因为它不起作用。(我是球拍新手) (定义(BMI体重-身高) (/体重(*身高)) [cond((和( 用于创建新的局部变量 只使用一个不同的子句 不用于输出。您可以使用任何其他(打印、写入、显示…)或仅从函数返回字符串 (define (BMI weight height) (/ weight (* height height)) [cond ((and (<= 25)(< 30))(error

我试图在racket中创建一个简单的体重指数计算器,但我找不到使用条件的方法,因为它不起作用。(我是球拍新手)

(定义(BMI体重-身高)
(/体重(*身高))
[cond((和(
  • 用于创建新的局部变量
  • 只使用一个不同的子句
  • 不用于输出。您可以使用任何其他(打印、写入、显示…)或仅从函数返回字符串
  • (define (BMI weight height)
      (/ weight (* height height))
      [cond ((and (<= 25)(< 30))(error "Normal"))]
      [cond  ((< 20)(error "Underweight"))])
    
    
    (define (BMI weight height)
      (let ((value (/ weight (* height height))))
        (cond ((> 18.5 value) "Underweight")
              ((and (> value 18.5)
                    (> 25 value)) "Normal")
              (#true "Obese"))))
    
    (BMI 62 1.85) -> "Underweight"
    (BMI 85 1.85) -> "Normal"
    (BMI 120 1.85) -> "Obese"