【问题标题】:Calculating end date of a loan in Python 3在 Python 3 中计算贷款的结束日期
【发布时间】:2018-07-26 14:00:25
【问题描述】:

我正在为一个班级开展一个项目,我需要在给定第一个付款日期、贷款期限(年)和每年的付款次数的情况下计算贷款的结束日期(除其他事项外)。例如,如果第一个付款日期是 2018 年 1 月 1 日,并且每年有 12 个付款期,利率为两年,则贷款结束日期将为 2019 年 12 月 1 日。我需要能够对用户输入的任何整数进行计算。付款周期可以是 4 个季度等。

到目前为止,我已经开始使用输入的日期字符串(格式为 DD/MM/YYYY)并将其拆分为“/”作为分隔符。然后我将每个部分转换为整数。

从这里我不知道如何继续。到目前为止,我对 Python 的了解非常有限(我们刚刚开始决策结构),所以我假设 for 循环对我来说最容易掌握。我不知道我怎么会开始这样的事情。至少有人能帮我指出正确的方向吗?

代码如下。

first_date=input("Please enter the first payment date (DD/MM/YYYY):")

first_date.split("/")
month,day,year=first_date.split("/")
month=int(month)
day=int(day)
year=int(year)

【问题讨论】:

  • 查看datetime 模块中的此类内容。
  • "Can Someone Help Me?" is not a valid SO question。这通常表明您需要的是与当地导师一起半小时或完成教程,而不是 Stack Overflow。问题是问题分析之一,而不是编程。没有电脑你会怎么做?写下那个过程。当您将这些步骤转换为代码并遇到困难时,那么您可能会发布 Stack Overflow 帖子。
  • 我明白 - 你是对的。 @Prune
  • 继续学习。同时...当您达成解决方案时,请记住对有用的事情进行投票并接受您最喜欢的答案(即使您必须自己编写),以便 Stack Overflow 可以正确存档问题。

标签: python python-3.x date slice


【解决方案1】:

您应该使用日期时间操作和运算符来处理这个问题,而不是通过文本处理。您可以使用datetime、time 和类似的模块。

这是一个示例工作流程:

In [40]: import datetime

# Input string
In [41]: first_date_str = '31/12/2018'

# Converting the input to a datetime object
In [42]: first_date_dt = datetime.datetime.strptime(first_date_str, '%d/%m/%Y')

# Let's check
In [43]: first_date_dt
Out[43]: datetime.datetime(2018, 12, 31, 0, 0)

# Adding 180 days
In [44]: first_date_dt + datetime.timedelta(days=180)
Out[44]: datetime.datetime(2019, 6, 29, 0, 0)

In [45]: last_date_dt = first_date_dt + datetime.timedelta(days=180)

# Converting datetime object back to string
In [46]: datetime.datetime.strftime(last_date_dt, '%d/%m/%Y')
Out[46]: '29/06/2019'

希望这能让你开始。

【讨论】:

猜你喜欢
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
  • 2015-06-30
  • 2017-06-14
  • 1970-01-01
相关资源
最近更新 更多