使用 Python 的复合利息 GUI 计算器

2025年3月17日 | 阅读13分钟

Python 等编程语言为开发 GUI(图形用户界面)提供了不同的选项。在所有 GUI 方法中,Tkinter 是最常用的一种。在下面的教程中,我们将学习如何使用 Python 编程语言中的 Tkinter 包创建一个简单的复利 GUI 计算器应用程序。

但在开始编码部分之前,让我们简要了解一下复利以及如何使用 Python 计算它。

理解复利

复利是按标准间隔对本金和利息计算的利息。在标准间隔,累积的利息与当前本金合并,然后对新的本金估算利息。新本金等于初始本金和迄今为止累积利息的总和。

我们可以分两步计算复利。首先,我们将初始本金乘以一加上年利率的复利周期数减一,计算出最终金额。下一步,我们将从所得值中减去贷款总初始金额。这将给我们复利或 CI。

因此,为了计算年复利,我们将贷款、投资或本金的实际金额乘以年利率。然后我们将该金额加到本金中,然后再次乘以利率,得到第二年的复利。

现在让我们用数学考虑上述声明

Compound Interest GUI Calculator using Python

其中,

  1. A: A 是最终金额或投资/贷款的未来价值,包括利息。
  2. P: P 是初始本金余额/金额。
  3. r: r 是年利率。
  4. n: n 是单位 t 内复利的次数。
  5. t: t 是经过的周期数。

上述公式表示时间周期结束时的总金额,包括复利和本金。此外,我们可以通过从该金额中减去本金来估算复利。计算复利的公式如下

现在让我们用一个例子来考虑上述数学声明。

示例

输入值

P = 7500
r = 5% = 5/100 = 0.05
n = 12
t = 10

如果我们将以上值代入公式,我们将得到以下结果

Compound Interest GUI Calculator using Python

因此,总金额是,复利是。

现在让我们考虑下面的示例代码,演示上述公式在 Python 中的实现

示例

输出

Enter the Principal Amount: 7500 
Enter the Rate of Interest: 0.05   
Enter the Number of times that interest is compounded per unit t: 12 
Enter the Time Period: 10   

Compound Interest (C.I.): 4852.571233

说明

在上面的代码片段中,我们定义了一个名为 compound_interest() 的函数,它接受一些参数,如 principalrate_of_interestnumbertime。我们使用上述公式计算复利金额,然后通过从总金额中减去本金来计算复利。最后,我们将复利作为 ci 返回。

然后我们定义了另一个名为 main_function() 的函数,它向用户请求本金、利率、次数和时间段等输入,并将它们存储在变量 prnt 中。然后我们调用 compound_interest() 函数,提供变量中的值,并将结果存储在新变量 ci 中。然后我们为用户打印结果。

最后,我们调用 main_function() 来执行程序。

现在我们将修改此函数,以便将其与 Tkinter 库一起使用,构建用于计算复利的图形用户界面。

使用 Tkinter 创建复利 GUI 计算器

我们将通过以下步骤创建项目的 GUI

步骤 1: 我们将导入所需的模块。

步骤 2: 然后我们将为应用程序定义一些函数。

步骤 3: 然后我们将创建主窗口(容器)。

步骤 4: 然后我们将向主窗口添加任意数量的小部件。

现在让我们详细了解这些步骤。

导入所需模块

首先,我们将导入 Tkinter 库来构建应用程序的 GUI。

让我们看下面的代码片段来说明这一点:

文件:ciCalci.py

说明

在上面的代码片段中,我们从 Tkinter 库中导入了所需的小部件和方法。

为应用程序定义必要的函数

此 GUI 应用程序需要一些重要函数来帮助我们运行程序。

第一个函数将允许我们在用户每次按下重置按钮时重置用户将填写的输入字段。

让我们看下面的代码片段来说明这一点:

文件:ciCalci.py

说明

在上面的代码片段中,我们定义了一个名为 reset() 的函数。在该函数中,我们使用 delete() 方法删除了输入字段中写入的所有条目,并指定 (0, END) 作为其参数以删除整个文本。然后我们将 focus_set() 方法用于我们稍后将在本教程中为本金金额定义的输入字段。

现在我们将定义另一个函数,它将计算输入值的复利。我们将稍微修改之前的 compound_interest() 函数来完成此函数。

以下代码片段演示了相同的内容:

文件:ciCalci.py

说明

在上面的代码片段中,我们定义了一个名为 compound_interest() 的函数。我们从输入字段中检索值,并将它们作为浮点值存储在不同的变量中。然后我们计算了输入值的复利,并将结果值插入到结果输入字段中。

为应用程序创建主窗口

现在我们已经成功创建了应用程序所需的函数,我们将着手 GUI 部分。我们将创建应用程序的主窗口,所有必要的小部件都将显示在该部分中。

让我们看下面的代码片段来说明这一点:

文件:ciCalci.py

说明

在上面的代码片段中,我们定义了主函数。我们在此函数中创建了 Tk() 类的对象。然后我们使用 title() 方法为 GUI 窗口定义了标题。然后我们使用 geometry() 方法为窗口定义了几何形状,并通过将 (0, 0) 设置为 resizable() 方法的参数来禁用可调整大小选项。最后,我们使用 configure() 方法并将应用程序的背景颜色设置为 #f0c33c

向主窗口添加小部件

现在我们已经为项目创建了主窗口。是时候向其中添加一些小部件以向用户显示数据了。

我们将首先添加一个标签,使用 Label() 小部件在主窗口上显示标题。以下是演示相同内容的代码片段

文件:ciCalci.py

说明

在上面的代码片段中,我们使用了 Label() 小部件为主窗口创建了一个标签。我们指定 guiWindow 作为其参数。我们还设置了要显示的文本以及字体样式和大小、前景色和背景色。然后我们使用 place() 方法将标签放置在屏幕上。

现在,让我们创建其他标签,使用 Label() 小部件显示必要的信息,例如本金、利率、次数、时间段和复利。

以下是演示相同内容的代码片段

文件:ciCalci.py

说明

在上面的代码片段中,我们使用 Label() 小部件定义了不同的标签,指定 guiWindow 作为它们的参数以及这些标签将显示的文本、背景和前景色。

现在我们已经创建了标签,是时候将它们放置在主窗口中了。

我们将使用 place() 方法指定标签将显示在其上的坐标。

让我们考虑以下说明相同内容的代码片段。

文件:ciCalci.py

说明

在上面的代码片段中,我们对之前创建的标签使用了 place() 方法。我们指定了这些标签放置的 x 和 y 坐标。

现在我们将使用 Entry() 小部件向主窗口添加一些输入字段,以允许用户输入所需的值来计算复利。我们还将定义一个输入字段来显示结果。

让我们考虑下面所示的代码片段,它说明了同样的内容

文件:ciCalci.py

说明

在上面的代码片段中,我们使用了 Entry() 小部件为用户定义了输入字段,以便输入所需的数据。我们还定义了一个输入字段来为用户显示结果。

现在,让我们使用 place() 方法将这些输入字段放置在主窗口上。

以下代码片段演示了相同的内容:

文件:ciCalci.py

说明

在上面的代码片段中,我们使用了 place() 方法将上述字段放置在窗口上。我们指定了它们的放置的 x 和 y 坐标。

现在我们将创建一些按钮,它们将触发函数的执行。我们将使用 Button() 小部件来完成此操作,并将其 command 参数指定为我们之前定义的函数。

我们将创建两个按钮——第一个按钮是 CALCULATE 按钮,它将根据给定数据执行复利计算。第二个按钮是 RESET 按钮,它将重置所有条目和结果。

文件:ciCalci.py

说明

在上面的代码片段中,我们使用了 Button() 小部件来创建 CALCULATERESET 按钮。我们使用了 command 参数并将目标设置为 compound_interest()reset() 函数。

现在我们已经创建了按钮,是时候使用 place() 方法将它们放置在主窗口上了。

让我们考虑以下演示相同内容的代码片段。

文件:ciCalci.py

说明

在上面的代码片段中,我们使用了 place() 方法将上述按钮放置在主窗口上指定坐标。

最后,我们将使用 mainloop() 方法运行 Tkinter 事件循环。以下是说明相同内容的代码片段。

文件:ciCalci.py

说明

在上面的代码片段中,我们使用了 mainloop() 方法来运行 Tkinter 事件循环。

至此,“复利 GUI 计算器”项目的编码终于完成。我们现在可以保存文件并运行程序以查看它是否有效。

要运行程序,我们可以在命令行 shell 或终端中键入以下命令

命令

但在我们看到输出之前,这里有一个完整的项目代码。

完整的项目代码

以下程序文件是“复利 GUI 计算器”项目的完整代码。

文件:ciCalci.py

输出

Compound Interest GUI Calculator using Python