当前位置:网站首页>PyQt5快速开发与实战10.2 复利计算 && 10.3 刷新博客点击量
PyQt5快速开发与实战10.2 复利计算 && 10.3 刷新博客点击量
2022-07-31 12:26:00 【Ding Jiaxiong】
PyQt5快速开发与实战
文章目录
10. 第10章 PyQt5 实战一:经典程序开发
10.2 复利计算 && 10.3 刷新博客点击量
10.2.1 复利计算业务
复利计算,是指每经过一个计息期后,都要将本期所生的利息加入本金中,以计算下期的利息。这样,在每一个计息期内,上期的利息都将成为生息的本金,即以利生利,也就是俗称的“利滚利”。这就涉及了复利现值、复利终值和复利计算公式。
复利现值,是指在计算复利的情况下,要达到未来某一特定的资金金额,现在必须投入的本金。所谓复利,也称利上加利,是指一笔存款或者投资获得回报之后,再连本带利进行新一轮投资的方法。
复利终值,是指本金在约定期限内获得利息后,将利息加入本金中再计算利息,逐期滚算到约定期末的本金之和。
复利计算公式:
其中P为本金,i为利率,n为持有期限。
举例:
例如:某人用20000元人民币投资一个项目,年报酬率为5%,那么两年后利息收入是多少?
按照复利计算公式进行计算,所获的利息收入就是:
20000X(1+5%)^2-2000×(1+5%)×(1+5%)
= 2000 ×1.05 ×1.05= 22050 (元)
10.2.2 界面及逻辑实现
# -*- coding: utf-8 -*-
''' 【简介】 银行复利计算 '''
from __future__ import division
import sys
from PyQt5.QtWidgets import (QApplication, QComboBox, QDialog,
QDoubleSpinBox, QGridLayout, QLabel)
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
principalLabel = QLabel("Principal:")
self.principalSpinBox = QDoubleSpinBox()
self.principalSpinBox.setRange(1, 1000000000)
self.principalSpinBox.setValue(1000)
self.principalSpinBox.setPrefix("RMB ")
rateLabel = QLabel("Rate:")
self.rateSpinBox = QDoubleSpinBox()
self.rateSpinBox.setRange(1, 100)
self.rateSpinBox.setValue(5)
self.rateSpinBox.setSuffix(" %")
yearsLabel = QLabel("Years:")
self.yearsComboBox = QComboBox()
self.yearsComboBox.addItem("1 year")
self.yearsComboBox.addItems(["{0} years".format(x)
for x in range(2, 31)])
amountLabel = QLabel("Amount")
self.amountLabel = QLabel()
grid = QGridLayout()
grid.addWidget(principalLabel, 0, 0)
grid.addWidget(self.principalSpinBox, 0, 1)
grid.addWidget(rateLabel, 1, 0)
grid.addWidget(self.rateSpinBox, 1, 1)
grid.addWidget(yearsLabel, 2, 0)
grid.addWidget(self.yearsComboBox, 2, 1)
grid.addWidget(amountLabel, 3, 0)
grid.addWidget(self.amountLabel, 3, 1)
self.setLayout(grid)
self.principalSpinBox.valueChanged.connect(self.updateUi)
self.rateSpinBox.valueChanged.connect(self.updateUi)
self.yearsComboBox.currentIndexChanged.connect(self.updateUi)
self.setWindowTitle("Interest")
self.updateUi()
def updateUi(self):
principal = self.principalSpinBox.value()
rate = self.rateSpinBox.value()
years = self.yearsComboBox.currentIndex() + 1
amount = principal * ((1 + (rate / 100.0)) ** years)
self.amountLabel.setText("RMB {0:.2f}".format(amount))
if __name__=="__main__":
from pyqt5_plugins.examples.exampleqmlitem import QtCore
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
app = QApplication(sys.argv)
form = Form()
form.show()
sys.exit(app.exec_())
10.3 刷新博客点击量
import sys
import time
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class WebView(QWebEngineView):
def __init__(self ):
super(WebView, self).__init__()
url = 'https://blog.csdn.net/weixin_44226181?type=blog'
self.load( QUrl( url ) )
self.show()
QTimer.singleShot(1000*3 , self.close)
if __name__ == '__main__':
app = QApplication(sys.argv)
web = WebView()
print('### exec succeed !')
sys.exit(app.exec_())
调用主窗口
if __name__ == '__main__' :
for i in range(5):
os.system("python openweb.py")
print("正在刷新页面. 次数 =>" , i)
time.sleep(5)
边栏推荐
猜你喜欢
anaconda虚拟环境安装pytorch gpu版本
JVS开发套件产品定位
After Effects 教程,如何在 After Effects 中修复曝光不足的镜头?
系统集成项目管理工程师(软考中级)知识点总结【挣值分析】【关键路径】
Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
imx6ull看门狗使用
busybox之reboot命令流程分析
Exploring Plain Vision Transformer Backbones for Object Detection Paper Reading Notes
三六零与公安部三所发布报告:关基设施保护成为网络安全博弈关键
这款悄然崛起的国产API接口管理工具,你一定要晓得
随机推荐
基本语法(二)
Docker build Mysql master-slave replication
Character Functions and String Functions
订song餐系统
线性表的基本概念
VBA输出日志到工作簿demo
CWE4.8 -- The 25 most damaging software security issues in 2022
这款悄然崛起的国产API接口管理工具,你一定要晓得
VBA实现双击单元格自动输出对号再次双击取消对号
Standard SQL/JSON - the sobering part
Build a Valentine's Day confession website (super detailed process, package teaching package)
初识QEMU
荣耀手机参数写错,客服认为没错
FIFO深度计算学习记录(汇总)
串的基本概念与操作
最近两个月谷歌 ad 掉的厉害
一周精彩内容分享(第14期)
认知—运动康复医疗机器人应用设计
攻防演练丨赛宁红方管控平台走进广东三地 助力数字政府网络安全建设
Hybrid brain-computer interface system based on steady-state visual evoked potentials and attentional EEG