【问题标题】:Solving this kata from codewars ,any tips/fixing ? (new to python)从 codewars 解决这个 kata,任何提示/修复? (蟒蛇新手)
【发布时间】:2021-02-21 23:08:53
【问题描述】:

所以我有这个 kata: 在这个简单的作业中,你会得到一个数字,并且必须将其设为负数。但也许这个数字已经是负数了?

例子:

make_negative(1)   # return -1
make_negative(-5)  # return -5
make_negative(0)   # return 0

我尝试用以下方法解决它:

def make_negative(number):
    if number > 0:
        number * -1
    elif number < 0:
        pass
    return number

我得到的结果是(通过:2失败:1退出代码:1)失败的人说(42应该等于-42)

真正的问题是,我做错了什么?如果 some1 可以帮助我解决这个问题? ^^

【问题讨论】:

  • number * -1 行什么也不做。结果既不会返回,也不会分配给变量或以任何其他方式使用。

标签: python python-3.x helper


【解决方案1】:

你可以试试这个吗?

def make_negative(num):
    if num > 0:
        return num * (-1)
    elif num < 0: 
        return num
    else:
        return 0

【讨论】:

    【解决方案2】:

    这也有效:

    if (num > 0){
    return num * -1
    }else {
    return num;
    }
    

    return num > 0 ? num * -1 : num;
    

    【讨论】:

    • 为什么中间有num =?在您的两个解决方案中都应该是 num * -1,而不是 num = num * -1
    • @joanis 是的,非常感谢,我已经改正了
    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多