代码战(python)上的kata出现了奇怪的问题
: 在这个简单的赋值中,你得到一个数字,并且必须使它为负数。但也许这个数字已经是负数了? 例如: 注:代码战(python)上的kata出现了奇怪的问题,python,multiplication,Python,Multiplication,: 在这个简单的赋值中,你得到一个数字,并且必须使它为负数。但也许这个数字已经是负数了? 例如: 注: 数字可以是负数,在这种情况下不需要更改 未检查零(0)是否有任何特定符号。负零没有数学意义 好的,这个kata让我把任何数字变成负数,我知道我可以用if,但我想看到它是这样工作的: def make_negative( number ): number = ((number)*(-1)) return number 当我测试它工作时,但当我尝试它时,我得到了这样的结果:“
- 数字可以是负数,在这种情况下不需要更改
- 未检查零(0)是否有任何特定符号。负零没有数学意义
def make_negative( number ):
number = ((number)*(-1))
return number
当我测试它工作时,但当我尝试它时,我得到了这样的结果:“9应该等于-9”,尽管这是我之前通过的一个基本测试用例(我在随机测试用例中也得到了相同的错误)。有什么想法吗?要得到一个总是否定的结果,我建议使用combied和-1
乘法
def make_negative(number):
return -1 * abs(number)
print(make_negative(10)) # -10
print(make_negative(-10)) # -10
为了得到一个总是否定的结果,我建议使用combied和-1
乘法
def make_negative(number):
return -1 * abs(number)
print(make_negative(10)) # -10
print(make_negative(-10)) # -10
是的,这是一件奇怪的事情,当我在任何其他编译器中尝试它时,它工作得完美无缺,当我在codewars中尝试它时,我得到了这样一句话:“基本测试用例测试通过9应该等于-9测试通过在0.02毫秒内完成”。如果这个数字是负数(-9),那么你的函数使它成为正数。这可能会使它在某些测试用例中失败(即,当函数应该是-9时返回9)。虽然我们只能猜测,因为不清楚预期的结果和测试用例是什么。我认为您需要发布kata的确切文本。使用
abs()
的答案应该有效,您复制它时一定是做错了什么。您的代码将-5
变成5
,应该保留为-5
。下面的答案应该是可行的。是的,这是一件奇怪的事情,当我在任何其他编译器中尝试它时,它工作得完美无缺,当我在codewars中尝试它时,我得到了这样的结论:“基本测试用例测试通过9应该等于-9测试通过在0.02毫秒内完成”。如果数字为负(-9),那么你的函数将其设置为正。这可能会使它在某些测试用例中失败(即,当函数应该是-9时返回9)。虽然我们只能猜测,因为不清楚预期的结果和测试用例是什么。我认为您需要发布kata的确切文本。使用abs()
的答案应该有效,您复制它时一定是做错了什么。您的代码将-5
变成5
,应该保留为-5
。下面的答案应该有用。是的,它仍然很糟糕,我会咬紧牙关,使用如果我猜,谢谢你的评论,祝你有一个美好的一天sir什么是if
语句比这个更好@Nafikos是的,它仍然是一团糟,我会咬紧牙关使用如果我猜,谢谢你的评论,祝你有一个美好的一天sir什么是if
语句比这更好@纳菲科斯