用于算术运算的Python函数设计

时间:2016-07-27 19:12:49

标签: python

目的:
"编写一个以3个数字作为参数的Python函数。您的 函数应该重复从第一个参数中减去第二个参数 参数直到值小于零。那么你的功能应该 打印出这个(负)值。"

我建议的解决方案(目前为止):

def subtraction(a, b, c):
    firstnum = a
    if firstnum > 0:
        firstnum = (a-b)
    if firstnum < 0:
        return firstnum

问题:
当我尝试它并且结果在结束时返回时,它出现空白。对我遗失的任何建议?

2 个答案:

答案 0 :(得分:3)

def subtraction(a,b,c):
    # why does c exist?
    return a % b - b

通过重复减法(重复减法除法)获得的最小正数是两个数的模数。要查找下一个数字,只需再次减去。

除非你使用循环,但这似乎是一个功课问题,我不确定是否只是给出答案是学习的方法。

答案 1 :(得分:2)

你忘了循环!因此,在b小于零之前,您不会从a中减去a。我建议像这样使用while循环,

def subtraction(a, b, c):
    firstnum = a
    while firstnum >= 0:
         firstnum -= b
    return firstnum

让我解释之前的错误。如果没有循环,您的函数只会从b中减去a一次。然后它会检查firstnum是否大于零。如果AND仅在firstnum小于零的情况下才会返回。我的猜测是firstnum不会被返回,因为在b减去一次后它不会小于零。通过此循环,可以保证将firstnum作为负值返回,因为循环将继续从b减去firstnum,直到firstnum小于零。