所以伙计们,我有一个时髦的错误,我想知道你是否可以帮助我。 我有一个功能,应该找到使用最少硬币进行更改的方法。
def change_counter(cost, paid):
changefor = paid - cost
我有一个变量,变量基本上是你需要多少钱才能做出改变。 然后我宣布了一些变量,penny = 0,并跟踪每个硬币的数量。 然后我做了一个while循环,循环直到changefor命中为零。
while(changefor > 0):
if changefor >= 100:
changefor - 100
++hundreddollar
elif,etc
剩下的就是自我解释,只打印每枚硬币的使用量等等。有谁看到可能导致问题的原因?我得到的返回值为-1,而while循环中没有任何东西似乎正在做任何事情。
答案 0 :(得分:2)
因为您正在计算事物而不是将它们存储在任何地方
首先,谢谢你教给我一些新东西。
++x
编译, 也没有。看这里,Why are there no ++ and -- operators in Python?,但python中没有增量/减量运算符。同样,
changefor - 100
没有做任何事情。当然,它会评估changefor
并减去100,但它不会将该值存储在任何地方。动态语言的陷阱。
changefor = changefor - 100
或
changefor -= 100
会帮你做得更好
编辑:我正要问为什么接受减量语法并发现这个人Behaviour of increment and decrement operators in Python已经遇到了这种奇怪的现象。