【发布时间】:2021-04-17 08:25:59
【问题描述】:
在这个简单的作业中,你得到一个数字,并且必须将其设为负数。但也许这个数字已经是负数了? 示例:
Kata.MakeNegative(1); // return -1 Kata.MakeNegative(-5); // return -5 Kata.MakeNegative(0); // return 0注意事项:
- 数字可能已经是负数,在这种情况下不需要更改。
- 不检查零 (0) 是否有任何特定符号。负零没有数学意义。
好的,所以这个 kata 要求我将任何数字变为负数,我知道我可以用 if 做到这一点,但我希望看到它以这种方式工作:
def make_negative( number ):
number = ((number)*(-1))
return number
当我测试它时它可以工作,但是当我尝试它时,我得到这个:“9 应该等于 -9”,即使它是我之前通过的一个基本测试用例(我在随机测试用例上也遇到了同样的错误)。有什么想法吗?
【问题讨论】:
-
是的,这很奇怪,当我在任何其他编译器中尝试它时,它可以完美运行,当我在 codewars 中这样做时,我得到这个:“基本测试用例测试通过 9 应该等于 -9 测试通过完成在 0.02 毫秒内"
-
如果数字为负数 (-9),那么您的函数会将其设为正数。这可能会导致它在某些测试用例中失败(即您的函数在应该为 -9 时返回 9)。虽然我们只能猜测,因为不清楚预期的结果和测试用例是什么。
-
我认为您需要发布 kata 的确切文本。
-
abs()的答案应该可以,你复制的时候一定是做错了。 -
您的代码将把
-5变成5,它应该保留为-5。下面的答案应该有效。
标签: python multiplication