目的:
"编写一个以3个数字作为参数的Python函数。您的
函数应该重复从第一个参数中减去第二个参数
参数直到值小于零。那么你的功能应该
打印出这个(负)值。"
我建议的解决方案(目前为止):
def subtraction(a, b, c):
firstnum = a
if firstnum > 0:
firstnum = (a-b)
if firstnum < 0:
return firstnum
问题:
当我尝试它并且结果在结束时返回时,它出现空白。对我遗失的任何建议?
答案 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
小于零。