Python求利率

要求

编写程序计算在给定利率、指定年数的情况下投资的未来值。这个计算公式如下。
在这里插入图片描述
使用文本域输入投资额、年份和利率。当用户单击“calculate”按钮时,在文本域中显示未来的投资值,如图所示。
在这里插入图片描述

代码实现

import tkinter as tk

def calculate():
    amount, years, rate = (float(entry.get()) for entry in entries)
    future_value = amount * (1 + rate / 1200) ** (years * 12)
    result.config(state="normal")
    result.delete("1.0", tk.END)
    result.insert(tk.END, f"{future_value:.2f}")
    result.config(state="disabled")

def add_row(window, text, row):
    tk.Label(window, text=text).grid(row=row, sticky=tk.W)
    entry = tk.Entry(window)
    entry.grid(row=row, column=1)
    return entry

window = tk.Tk()
window.title("第三次实验")

labels = ["Investment Amount:", "Years:", "Annual Interest Rate:"]
entries = [add_row(window, label, i) for i, label in enumerate(labels)]

result = tk.Text(window, height=1, width=20, state="disabled")
result.grid(row=len(labels), column=1, sticky=tk.W)
tk.Label(window, text="Future Value: ").grid(row=len(labels), sticky=tk.W)
tk.Button(window, text="Calculate", command=calculate).grid(row=len(labels)+1, column=1, sticky=tk.E)

window.mainloop()

效果

在这里插入图片描述

代码实现

import tkinter as tk

def calculate():
    investment_amount = float(entry1.get())
    years = int(entry2.get())
    interest_rate = float(entry3.get()) / 100
    monthly_interest_rate = interest_rate / 12
    future_value = investment_amount * (1 + monthly_interest_rate) ** (years * 12)
    result_text.configure(state="normal")
    result_text.delete("1.0", tk.END)
    result_text.insert(tk.END, "{:.2f}".format(future_value))
    result_text.configure(state="disabled")


window = tk.Tk()
window.title("Investment Calculator")

label1 = tk.Label(window, text="Investment Amount:")
label1.grid(row=0, column=0, padx=10, pady=0, sticky=tk.W)
entry1 = tk.Entry(window)
entry1.grid(row=0, column=1, padx=10, pady=0, sticky=tk.E)

label2 = tk.Label(window, text="Years:")
label2.grid(row=1, column=0, padx=10, pady=0, sticky=tk.W)
entry2 = tk.Entry(window)
entry2.grid(row=1, column=1, padx=10, pady=0, sticky=tk.E)

label3 = tk.Label(window, text="Annual Interest Rate:")
label3.grid(row=2, column=0, padx=10, pady=0, sticky=tk.W)
entry3 = tk.Entry(window)
entry3.grid(row=2, column=1, padx=10, pady=0, sticky=tk.E)

label4 = tk.Label(window, text="Future Value: ")
label4.grid(row=3, column=0, padx=10, pady=0, sticky=tk.W)
result_text = tk.Text(window, height=1, width=20, state="disabled")
result_text.grid(row=3, column=1, padx=10, pady=0, sticky=tk.E)

button_calculate = tk.Button(window, text="Calculate", command=calculate, relief=tk.FLAT)
button_calculate.grid(row=4, columnspan=2, padx=10, pady=0, sticky=tk.E)

window.mainloop()

代码实现

import tkinter as tk


def calculate_future_value():
    investment_amount = float(entry_investment.get())
    years = int(entry_years.get())
    interest_rate = float(entry_interest.get()) / 100
    monthly_interest_rate = interest_rate / 12
    future_value = investment_amount * (1 + monthly_interest_rate) ** (years * 12)
    result_text.configure(state="normal")  # 允许编辑文本框
    result_text.delete("1.0", tk.END)  # 清空文本框内容
    result_text.insert(tk.END, "{:.2f}".format(future_value))  # 插入结果
    result_text.configure(state="disabled")  # 禁止编辑文本框


window = tk.Tk()
window.title("Investment Calculator")

label_investment = tk.Label(window, text="Investment Amount:")
label_investment.grid(row=0, column=0, padx=10, pady=0)
entry_investment = tk.Entry(window)
entry_investment.grid(row=0, column=1, padx=10, pady=0)

label_years = tk.Label(window, text="Years:")
label_years.grid(row=1, column=0, padx=10, pady=0)
entry_years = tk.Entry(window)
entry_years.grid(row=1, column=1, padx=10, pady=0)

label_interest = tk.Label(window, text="Annual Interest Rate:")
label_interest.grid(row=2, column=0, padx=10, pady=0)
entry_interest = tk.Entry(window)
entry_interest.grid(row=2, column=1, padx=10, pady=0)

label_result = tk.Label(window, text="Future Value: ")
label_result.grid(row=3, column=0, padx=10, pady=0)
result_text = tk.Text(window, height=1, width=20, state="disabled")
result_text.grid(row=3, column=1, padx=10, pady=0)

button_calculate = tk.Button(window, text="Calculate", command=calculate_future_value, relief=tk.FLAT)
button_calculate.grid(row=4, columnspan=2, padx=10, pady=0, sticky=tk.E)

window.mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/544726.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Batch

Spring是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及W…

使用Python爬虫代理IP快速增加博客阅读量

目录 前言 二、Python爬虫代理IP技术简介 1.什么是爬虫? 2.什么是代理IP? 3.为什么使用代理IP? 三、使用Python爬虫代理IP增加博客阅读量的步骤 1.获取代理IP地址 2.模拟多次访问 3.定时任务 四、注意事项 五、总结 前言 随着互联…

金融机构与金融市场监管

金融机构与金融市场监管 中国的金融监管机构银行业监管的必要性银行业监管的基本目标银行业监管的基本内容商业银行的设立审批制度银行业日常监督管理流动性要求资产质量监管合理的内部控制制度风险集中和风险暴漏的监管银行资本风险资本的计算资本充足率的计算 中国的金融监管…

Mobile Tools v2.0 + Example Game

重要提示!如果您已经拥有我们的资产之一,您可以升级到此资产,根据资产的不同,您将获得15%至40%的折扣。 主要功能 包含一个完整游戏,已集成所有功能(广告、成就、排行榜、应用内购买、评价游戏弹出窗口、本地化、每日奖励、交叉促销和通知)。 包括以下独立资产(170美元…

探索数据结构:顺序串与链式串的深入理解

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 串的定义 串是一种特殊的顺序表,即每一个元素都是单独一…

关于机器学习/深度学习的一些事-答知乎问(四)

如何评估和量化深度学习的可解释性问题? 针对深度学习模型,评估指标能够全面衡量模型是否满足可解释性。与分类的评估指标(准确度、精确度和召回率)一样,模型可解释性的评估指标应能从特定角度证明模型的性能。但是&a…

AI服务平台replicate

Replicate是一个提供优秀AI模型和工具的平台,旨在帮助用户实现各种人工智能任务。该平台汇集了来自各个领域的顶尖模型,涵盖了文本到图像生成、语言模型、图像编辑、超分辨率等多个领域。用户可以通过Replicate平台快速获取和应用先进的模型,…

基于Springboot的毕业生信息招聘平台

基于SpringbootVue的毕业生信息招聘平台的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页展示 空中宣讲会 招聘岗位 求职信息 论坛信息 招聘咨询 …

代码随想录算法练习Day13:有效的字母异位词

题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 题目链接:242.有效的字母异位词 卡哥的视频讲解&#xff…

kali工具----网络映射器(Network Mapper)系统指纹

系统指纹识别 现在一些便携式计算机操作系统使用指纹识别来验证密码进行登录。指纹识别是识别系统的一个典型模式,包括指纹图像获取、处理、特征提取和对等模块。如果要做渗透测试,需要了解要渗透测试的操作系统的类型才可以。本节将介绍使用Nmap工具测试…

小米温度计接入HA后,手机米家app里温度计就看不到温度数值了

环境: 小米温度计 HA OS Core 2023.12.1 Supervisor 2024.04.0 Operating System 11.1 问题描述: 小米温度计接入HA后,手机米家app里和HA里面温度计就看不到温度数值了 解决方案: 1.前往米家APP,解绑温度计和本地…

都2024年了,线上部署你不会只会log 调试吧,Arthas了解下!

文章目录 一、什么是Arthas?⛅背景⚡Arthas能为我们做什么 二、部署Arthas三、Arthas 基础命令四、Arthas 项目命令实战⌚thread 线程阻塞⏰watch命令演示⚡cpu飙升演示⛽方法演示 🚨小结 一、什么是Arthas? Arthas 是一款线上监控诊断产品&a…

264:vue+openlayers 坐标转换 WGS84-GCJ02-BD09

第264个 点击查看专栏目录 本示例演示如何在vue+openlayers中将 WGS84坐标转化为GCJ02坐标,然后再转换为BD09坐标,本示例中使用的是高德地图,所以转换来的GCJ02坐标是正确的位置。 84坐标系可以理解为是真实坐标系,是一个地点的实际坐标值。02坐标系是加密后的坐标系,是为…

[通俗易懂:Linux标准输入/输出和重定向]Shell脚本之 > /dev/null 2>1命令详解

目录标题 一、> /dev/null 2>&1 命令解析二、/dev/null 文件浅显理解三、标准输入、标准输出、标准错误输出四、输入重定向、输出重定向五、命令作用与应用场景 如果想看命令意义,可以直接跳到第五部分 一、> /dev/null 2>&1 命令解析 我们在别…

【Python深度学习系列】网格搜索选择神经网络超参数:隐含层神经元数量(案例+源码)

这是我的第259篇原创文章。 一、引言 在深度学习中,超参数是指在训练模型时需要手动设置的参数,它们通常不能通过训练数据自动学习得到。超参数的选择对于模型的性能至关重要,因此在进行深度学习实验时,超参数调优通常是一个重要的…

探索 SAM 在遥感方面的能力

分割任意模型 (SAM) 现在可在不同类型的数据(例如近距离图像和航空图像)中自由克隆和使用。在我看来,SAM 模型在近距离图像上效果更好,因为这些图像对目标特征和物体有独特的视角,使模型更容易准确地区分和分割它们。 现在,我们将探讨 SAM 模型在不同遥感数据上的能力,包…

软考128-上午题-【软件工程】-白盒测试

一、白盒测试(结构测试) 白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。 白盒测试常用的技术是:逻辑覆盖、循环覆盖和基本路径测…

Web前端 JavaScript笔记4

1、元素内容 属性名称说明元素名.innerText输出一个字符串,设置或返回元素中的内容,不识别html标签元素名.innerHTML输出一个字符串,设置或返回元素中的内容,识别html标签元素名.textContent设置或返回指定节点的文本内容&#x…

LeetCode 678——有效的括号字符串

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 需要两个栈,一个用来保存左括号所在的位置索引,一个用来保存星号所在的位置索引。 从左往右遍历字符串,如果是左括号或者星号,则将位置索引分别入栈,如…

linux shell脚本编写(2)

Shell: 命令转换器,高级语言转换成二进制语言。是Linux的一个外壳,它包在Lniux内核的外面,用户和内核之间的交互提供了一个接口。 内置命令:在shell内部不需要shell编辑 外置命令:高级语言要用shell转换成二进制语言 …