【问题标题】:Numeric Monetory Formatting in PythonPython中的数字货币格式
【发布时间】:2012-05-19 22:22:01
【问题描述】:

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

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 语句之后返回余额,我的问题是我不知道如何在不执行上述操作的情况下将值传递给我的参数。我不断收到参数未定义,如果有人能指出我正确的方向,将不胜感激。

【问题讨论】:

  • 这又是我,我通过将变量分配给我的常量来让程序工作,但现在程序给了我答案,然后在下一行打印一个 a 并且程序不会停止运行。我猜这与我的 while 循环有关,但我不确定。这是我的代码。
  • def main(): age = float(input('a')) rate = float(input('r')) Saving = float(input('s')) calcFinalBalance(a, r,s) def calcFinalBalance(age,rate,savings): balance = 0 while age

标签: formatting python-3.x currency


【解决方案1】:

我不完全确定问题出在哪里,但calcFinalBalance(age=30,rate=6,savings=3000) 等同于calcFinalBalance(30,6,3000) - 它应该也能正常工作。您可以想象用 30 代替年龄,用 6 代替利率,用 3000 代替储蓄。

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-23
      • 1970-01-01
      • 2010-09-24
      • 2011-01-23
      • 1970-01-01
      • 2020-09-16
      相关资源
      最近更新 更多