算术运算的Python函数设计

2024-09-29 23:31:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

问题:
当我尝试它并在最后返回结果时,结果是空的。对我遗漏的东西有什么建议吗?你知道吗


Tags: 函数目的参数returnifdef情况数字
2条回答
def subtraction(a,b,c):
    # why does c exist?
    return a % b - b

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

除非你使用循环,但这似乎是一个家庭作业问题,我不确定仅仅给出答案是否是学习的方式。你知道吗

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

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

让我解释一下以前的错误。如果没有循环,函数只能从a中减去b一次。然后检查firstnum是否大于零。当且仅当firstnum小于零时,才会返回它。我的猜测是firstnum不会返回,因为在减去b之后它不会小于零。使用此循环,可以保证firstnum将作为负值返回,因为循环将从firstnum中不断减去b,直到firstnum小于零。你知道吗

相关问题 更多 >

    热门问题