我遇到了一个基本问题,它输出用于达到在方法调用时输入的总和的硬币类型的数量。
虽然我可以通过其他方式做到这一点,但我想创建一个方法并想使用多个分配。
除法应该得到 2 个输入,并且应该返回除法和剩余的原始值。
def divide(coin,value):
if value >= coin:
remains = value % coin
value = (value - remains) / coin
return value, remains
else:
return 0
主函数如下,它调用divide函数,发送硬币和值作为参数,以获得要更新的硬币数量和初始值。
def stamps(x):
fives, x = divide(5, x)
twos, x = divide(2, x)
print(fives, twos, x)
print stamps(0)
当硬币输出被计算为正整数时,这很好用。(如输入 8 将输出(1,1,1)
)但如果一个或多个硬币计算为 0(如发送 5,则输出应为(1,0,0)
)但它给出以下错误:
twos, x = divide(2, x) TypeError: 'int' object is not iterable
我没有使用任何迭代(至少不是故意的)。为什么我有这个错误?如果值小于硬币,则除法应该返回 0 不是正确的吗?