Formatting Python中的数字货币格式

Formatting Python中的数字货币格式,formatting,python-3.x,currency,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 + (balan

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

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()
def main():
calcFinalBalance(年龄=30,利率=6,储蓄=3000)
def calcFinalBalance(年龄、利率、储蓄):
余额=0
年龄<70岁时:
结余+=储蓄
余额=余额+(余额*((比率)/100))
年龄+=1
打印(“$”+格式(余额,“.2f”))
main()
计算出492143.05美元

但它不是作业的正确格式

我需要打印
(“$”+格式(calcFinalBalance(30,63000),“.2f”)

要计算我的答案,我需要返回值。我想我需要在while语句之后返回balance,我的问题是,如果不执行上面所做的操作,我就无法找出如何将值传递给参数。如果有人能给我指出正确的方向,我将不胜感激。

我不完全确定问题出在哪里,但是
calcFinalBalance(年龄=30,利率=6,储蓄=3000)
相当于
calcFinalBalance(30,63000)
-它应该也能工作。你可以想象,在年龄的位置插入30,在利率的位置插入6,在储蓄的位置插入3000


格式(calcFinalBalance(30,63000),“.2f”)
调用表明
calcFinalBalance
应该返回一个浮点值,我认为如果您只需从
calcFinalBalance
返回
balance
(现在您正在打印它,因此返回
None
),它应该返回一个浮点值我不知道这是否对你有帮助? 它应该用“$”符号打印您的余额。您可以使用在线找到的正确代码更改货币

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

这又是我,我通过给常量分配变量让程序运行,但现在程序给了我答案,但在下一行打印a,程序不会停止运行。我猜这和我的while循环有关,但我不确定。这是我的code.def main():年龄=浮动(输入('a'))利率=浮动(输入('r'))储蓄=浮动(输入('s'))calcFinalBalance(a,r,s)定义calcFinalBalance(年龄,利率,储蓄):余额=0而年龄<70:余额+=储蓄余额=余额+(余额*(利率)/100))账龄+=1返回余额打印(“$”+格式(calcFinalBalance(20,5.52000),“,.2f”)主()