检查数字是不是为负并在 Racket 中使用绝对值
Posted
技术标签:
【中文标题】检查数字是不是为负并在 Racket 中使用绝对值【英文标题】:Checking if a number is negative and using absolute value in Racket检查数字是否为负并在 Racket 中使用绝对值 【发布时间】:2021-05-06 07:12:29 【问题描述】:我想检查 x 是否为负数,如果是,则获取它的绝对值。否则,什么也不做。 这是我迄今为止尝试过的。
(when (< x 0)
(set! x (abs x))
)
(set! x(abs x))
这两个都给出了“违反合同。预期:真实?给定:#f”
我做错了什么?
编辑:我试过这个,我认为我已经取得了进展。
(cond
[(< x 0) (set! y(abs x))]
[else (print "input error")]
)
“
【问题讨论】:
首先要将x
设置为x
的绝对值。在您编辑的代码中,您使用y
作为x
的绝对值。现在是哪个?是同一个变量还是另一个?
如果你写'
是的,这是为我做的。谢谢!
【参考方案1】:
为什么不只写
(set! x(abs x))
?它适用于负值和正值。
【讨论】:
以上是关于检查数字是不是为负并在 Racket 中使用绝对值的主要内容,如果未能解决你的问题,请参考以下文章
Pandas Dataframe - 如何检查列中数值的符号,如果为负则删除符号并在发生这种情况时创建另一列?