我以前写过一篇关于这个的帖子,但我觉得我的措辞/解释是错误的。我将向您展示代码,然后我将给出一个我正在尝试做的示例
amountPaid = float(input("Enter the amount you're paying:\n"))
taxPercentage = float(input("Enter the tax percentage:\n"))
taxPercentage = taxPercentage / 100
firstFee = (amountPaid * taxPercentage) + .30
newAmount = amountPaid - firstFee
secondFee = (newAmount * taxPercentage) + .30
total = secondFee + newAmount
print("{:.2f}".format(total))
while total < amountPaid:
newAmount = newAmount + .01
print("The amount you should be paying is ${:.2f}".format(total))
print("The fee with that total would be ${:.2f}".format(secondFee))
(注意)上面的代码实际上目前不起作用,我相信它是while
语句,但它给了您一个想法
很明显,我对编程还很陌生,所以如果您能给我一些初学者的建议,我将不胜感激
我想做的是计算一笔费用,使之等于一个精确的总数,如下所示:
我尽了最大的努力来解释这件事,但是如果你有任何问题,请问,这让我很困扰,我不能弄清楚这件事,哈哈
一个要点是while循环依赖于两个变量:
amountPaid
和total
。这意味着,如果这两个参数不变,while循环将永远循环,因此您必须确保它们在循环中被修改您还可以很快看到,循环本身并不修改这两个选项中的任何一个,它只修改
newAmount
。这意味着循环将永远运行,或者根本不会运行,因此在这种情况下它是无用的因此,您需要更改修改变量的位置。请注意,在编写时:
它不是一个始终为真的定义,而是一个赋值。这意味着修改
secondFee
和newAmount
不会直接修改total
,除非您重写同一行(请注意,这就是循环所做的,它“重写行”!)回到您的代码:目前,只有这两个选项是可能的。快速查看代码后,您似乎打算将这两行代码放在while循环中:
我希望您能理解原因,并祝您今后的编程工作好运:)
相关问题 更多 >
编程相关推荐