当前位置: 首页 > 知识库问答 >
问题:

使用递归计算每月最低信用卡付款额

孔梓
2023-03-14

我已经用迭代法为EdX课程的家庭作业问题写了一个解决方案

该准则采用信用卡余额和年利率来计算12个月内还清余额(加上任何利息)所需的最低每月付款额。

下面是我的迭代代码:

def minimum_payment_iter(ann_interest, balance):

    month_int = ann_interest/12
    remaining = balance
    payment = 10
    months = 1

    while remaining > 0:

        months = 1
        payment += 10
        remaining = balance

        while months < 13:
            remaining -= payment
            remaining += remaining*month_int
            months += 1


    return payment

我尝试过使用递归版本,但已经超过了最大递归深度:

def minimum_payment_recur(ann_interest, balance, payment = 10):

    month_int = ann_interest/12
    remaining = balance
    month = 1


    if remaining <= 0:
        return payment

    else:

        remaining -= payment
        remaining += remaining*month_int
        month += 1

    return minimum_payment_recur(ann_interest, balance, payment + 10)

共有1个答案

丁灿
2023-03-14

我刚做了这个。您需要在递归中添加一个计数器,这就是您在循环中要做的。

比如:

def function(a,b,counter=12):
    """
    Docstring goes here
    """
    if counter == 1:
        return a+b
    else:
        return function(a,b,counter-1)

我发现在edX上的这些在线课程中也很难获得真正的帮助,因为这些课程对您可以发布的内容非常严格,而且我从未收到过在“讨论”之外与个人交谈的邀请。老实说,如果我能从edX课程中获得1对1的帮助,我会支付额外费用。

无论如何,希望这对你有帮助。

 类似资料:
  • 编写一个计算每月抵押贷款付款的程序;我们将假设利率是每月复利的。您需要执行以下操作:提示用户输入代表年利率的双倍。提示用户抵押贷款将持有的年数(这里的典型输入是10、15或30)。提示用户输入一个代表从银行借来的抵押贷款金额的数字。 输出抵押贷款问题摘要,如下所示:以百分比表示的年利率以美元表示的抵押贷款金额以美元表示的每月付款,小数点后只有两位有效数字历年付款总额,小数点后只有两位有效数字超额付

  • 我们已经实施贝宝支付到我的网站。 我们正在用沙箱测试模式进行检查。付款通过登录与贝宝帐户工作罚款,但没有登录贝宝帐户使用卡选项付款不工作。我正在尝试测试卡的详细信息,它会显示这样的错误信息:“您输入的卡不能用于此付款。请输入其他的借记卡或信用卡号码。” 我有用户所有由贝宝提供的卡号仍有错误 https://developer.paypal.com/webapps/developer/docs/cl

  • Paypal为iOS开发者发布了新的SDK:Paypal iOS SDK 这个SDK允许两种支付方式: 一次性付款 我需要在我的应用程序中实现未来支付,所以用户只需一次输入他的支付细节。每隔一次金额会自动转账。 问题:可以使用PapPal帐户和信用卡进行一次性支付,但未来的支付只能使用PapPal帐户(进行未来支付)。 作为另一个选择,我尝试授权。net,但它不允许使用iOS SDK选择API进行

  • 我想在我的网站上使用信用卡重复付款。我网站的访客可以不用paypal注册就用信用卡进行定期付款吗?我尝试使用订阅按钮,但当我选择用信用卡支付时,我输入了信用卡信息,然后贝宝让我在贝宝上注册(https://snag.gy/hxO2Gl.jpg)。此外,我还尝试使用信用卡进行定期付款(直接付款定期付款(DPRP)),但我必须符合PCI标准才能在我的网站上处理dredit卡。我可以通过结账页面(带有“

  • 问题内容: 如果您提供的在你上一个月的最后一天: 在mozilla上有对此行为的引用。这是可靠的跨浏览器功能还是我应该考虑替代方法? 问题答案: var month = 0; // January var d = new Date(2008, month + 1, 0); alert(d); // last day in January 输出差异是由于实现方式的差异,而不是日期不同。 当然,仅因为

  • 我已经整合贝宝快递结账在我的网站。目前,使用paypal账户,即付即用和定期/订阅支付,两者都能按预期工作。 现在我正在尝试整合信用卡/借记卡购买为我的网站。首先,为了做到这一点,我已经启用了“PayPal Account Optional”在我的PayPal帐户中是“on”,并在express checkout参数solutionType=sole和LandingPage=Billing上设置如