Python中的数字Monetory格式

时间:2012-05-19 22:22:01

标签: formatting python-3.x currency

我正处于计算机科学课程的初级阶段,其任务是设计一个没有用户输入的退休计划。我设计了一个有效的程序:

def main():

    calcFinalBalance(age=30,rate=6,savings=3000)

def calcFinalBalance(age,rate,savings):
    balance = 0
    while age < 70:
        balance += savings
        balance = balance + (balance * ((rate)/100))
        age += 1

    print('$' + format(balance, ',.2f'))
main()

计算$ 492,143.05

但这不是正确的作业格式。

我需要打印('$' + format(calcFinalBalance(30,6,3000), '.2f')) 计算我的答案,我需要返回值。我想我需要在我的while语句之后返回平衡,我的问题是我无法弄清楚如何将值传递给我的参数而不做我上面做的事情。我一直没有定义参数,如果有人能指出我正确的方向,我将非常感激。

2 个答案:

答案 0 :(得分:0)

我不完全确定问题是什么,但calcFinalBalance(age=30,rate=6,savings=3000)等同于calcFinalBalance(30,6,3000) - 它应该也能正常工作。你可以想象30个被插入年龄的地方,6个代替费率,3000个代替储蓄。

format(calcFinalBalance(30,6,3000), '.2f'))调用表明calcFinalBalance应该返回一个浮点数,我认为如果你只是从balance返回calcFinalBalance就应该这样做(现在你正在打印它)相反,从而返回None

答案 1 :(得分:0)

我不知道这对你有帮助吗? 它应该用'$'符号打印你的余额。您可以使用可在线查找的正确代码更改货币。

>>> import babel.numbers
>>> import decimal
>>> babel.numbers.format_currency( decimal.Decimal( balance, "USD" )