我想在拍,打印1,如果值写一个简单的程序a是> 1,版画0,如果价值a = 0和-1如果a < 0.我写了以下但看起来它没有照顾第三个条件.实际上,我没有包括第三个条件所以我不知道如何使用'if'子句检查所有三个条件.赞赏一点指导.
我是Racket的新手.我的计划是:
#lang racket
(define a 3);
(if (> a 0)
0
1)
-1
Run Code Online (Sandbox Code Playgroud)
提前致谢.
您正在寻找的功能已在名称sgn下定义.
您的实施不起作用的原因是它不完整.你要:
(if (= a 0)
0
(if (< a 0)
-1
1))
Run Code Online (Sandbox Code Playgroud)
或者只是看起来更好看:
(cond
[(negative? n) -1]
[(positive? n) 1]
[else 0])
Run Code Online (Sandbox Code Playgroud)