首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python入门教程NO.8 用python写个存款利息计算器

    Python 中的函数以英文冒号开始,并且需要缩进,以表示接下来是函数内部的代码了 a = a + x和return a为函数的函数体,这部分就是函数的功能实现和输出返回值的地方 return [表达式...python函数应用案例 在上面的例子中,我们讲到了形参和实参,那么具体该如何区分它们呢? 形参是形式上的参数的缩写,实参是实际上的参数的缩写。...:' , num) #输出:这是函数外的全局变量: 1 存款利息计算器 假如你每月存2000到银行,存1年的年利率是2.6%,存3年的年利率为3.8%,存5年的年利率为4.2% 这种存款方式属于零存整取...,利息计算公式为: 利息=月存金额×累计月积数×月利率 累计月积数=(存入次数+1)÷2×存入次数 假如存3年,那么:利息=2000×累计月积数×(3.8%÷12), 累计月积数=(36+1)÷2...×36 请根据提示,设计一个零存整取的利息计算器

    2.6K30

    VueJs中customRef函数的使用

    ,我们需要自己造轮子,自己手动原生的去实现内部结构 实现基础的功能的同时,还要进行额外的拓展,那么这时候就需要自定义ref了的,它就相当于是组装式的电脑,内部结构需要自己去组装,实现 而非直接从商城里购买...,用一些现成的零部件组装一个类似精装的电脑,甚至还可以进行拓展,在实现一个定制化复杂的功能需求时 这个自定义ref就很有用 示例-延迟展示 想要在input中实现一个数据的实时收集与实时展示,需要使用v-model...,它需要在自定义ref函数中返回出去,同时,接收一个工厂函数作为参数,这个工厂函数接受track和trigger两个函数 作为参数,并返回一个带有get和set方法的对象 一般来说,track()在get...()方法中的返回值前进行调用,追踪一下数据的改变,通知vue最终数据的变化,而trigger()函数则应该在set()函数的末尾调用 通知vue去重新解析模板,更新页面数据 最后就是实现等待多长时间,稍后显示...,使用一个定时器去实现,解决频繁误触发的问题,常规的解决办法,先清除定时器,然后在开启定时器 总结 自定义ref(customRef())函数是一个非常有用的东西,相当于是对ref的一个功能的拓展,自己手动的去实现

    1K30

    VueJS 中更好的组件组合方式

    VueJS 中有一些组合组件并复用逻辑的方法。在本文中,我将展示一种在 Vuejs (2.* 及 3.*) 中改进组合方式的方法。...下面,你可以看到一个实现了一种常规用例(从远端获取一个简单的数据并将其搭配不同的转场效果显示出来)的组件,尽管大部分逻辑及其相关的模版、数据和其它变量等与出现在其它地方或组件中的相同逻辑并无不同,它们还是出现在了该组件中...在这个例子中,我在 mounted 生命周期钩子中使用了 fetchData 函数,但其实你可以在期望的任意位置调用它。无论何时,被该函数求值或改变的结果都会反映在组件中,因为它们都是响应式属性。...JSX 和 TSX 现在假设我们想要将获取的数据传递到一个内部组件中。...这其实很易懂,它完成了和模板同样的事情,但我们将 HTML 部分移入了 render 函数中。

    1.3K20

    vuejs中缓存组件状态-keepAlive

    前言 在 vuejs中,我们经常需要缓存一些组件的状态,比如用户登录后,切换到其他页面,再切换回来,需要保留之前的登录状态,而不是重新登录。...或者在切换不同组件的时候,需要保留之前的组件状态,而不是重新加载。如果你什么都不设置 你会发现,之前已更改的状态都被重置了。...在切换时创建新的组件实例通常是有意义的,但在有些情况下,我们的确想要组件能在被“切走”的时候保留它们的状态。...,但我们可以通过 include 和 exclude 的prop 来控制组件的缓存与不缓存的。...这两个 prop 的值都可以是一个以英文逗号分隔的字符串、一个正则表达式,或是包含这两种类型的一个数组 <!

    22510

    VueJs中的shallowRef与shallowReactive的使用比较

    01 shallowRef()函数 如果传入基本数据类型,那么shallowRef与ref的作用基本没有什么区别,也就是浅层的ref的内部值将会原样的存储和暴露,并不会被深层递归地转为响应式 但如果是对象的话...,那么就存在区别了的,shallowRef不处理对象类型的数据 其实,它就是只处理基本数据类型的响应式,不进行对象的响应式处理 性能优化,应用场景:如果有一个对象数据,后续功能不会修改该对象中的属性,而是生的对象来替换...,也就是只处理第一层对象的数据,在往下嵌套的数据,操作数据是不起作用的 只考虑对象第一层的数据响应式,在第一层嵌套下的数据不考虑 与reactive()不同,没有深层及的转换,一个浅层响应式对象里只有根级别的属性是响应式的...,属性的值会被原样存储和暴露,这意味着值为ref的属性不会被自动解构的 性能优化:具体应用场景: 如果有一个对象数据,数据结构比较深,复杂,但变化时只需要外层属性变化,那么就可以使用shallowReactive...与shallowRef在某些特殊的应用场景下,是可以提升性能的,前者针对对象,用于浅层作用的响应式数据处理,而后者只处理基本数据类型的响应式,不进行对象的响应式处理

    1.2K30

    VueJs中如何使用Teleport组件

    前言 在DOM结构相对比较复杂,层级嵌套比较深的组件内,需要根据相对应的模块业务处理一些逻辑,该逻辑属于当前组件 但是从整个页面应用的视图上看,它在DOM中应该被渲染在整个vue应用外部的其他地方,不能影响组件的结构...比较常见的应用场景:就是全屏的模态框,控制元素的位置,也是可以处理的,但是比较麻烦 在理想情况下,我们希望在具体的组件中,给元素绑定的事件,与具体要控制的DOM元素结构在同一个组件中,具体的位置处,保持一定的相关联性...而不用特意的把一些DOM结构给分离出去,然而,在同一组件中,触发模态框的按钮和模态框本身在同一组件中 因为他们都与组件的开关状态有相关联,模态框与按钮一起渲染在应用DOM结构很深的地方,会导致模态框的..."content"> A B 总结 这个teleport组件在实际开发中还是很实用的,能够解决当组件嵌套层级很深,而后代组件中的模板,...想要脱离当前组件结构,解决css布局层面的干扰,那就可以用这个teleport组件 拓展官方示例 Teleport示例() https://cn.vuejs.org/examples/#moda

    2.3K20

    vueJs中toRaw与markRaw函数的使用比较

    reactive生成的响应式对象转为普通(原始)对象 toRaw()可以返回由reactive(),readonly(),shallowReactive()或shallowReadonly()创建的代理对应的原始对象...这是一个可以用临时读取而不引起代理访问/跟踪开销,或是写入而不触发更改的特殊方法,在官方文档里,是不建议保存对原始对象的持久引用 使用场景:用于读取响应式对象的普通对象,对这个普通对象的所有操作,不会引起页面的更新...,如果没有把整个对象对外暴露出去,模板中使用新增的变量是不生效的(针对setup函数形式) 02 markRaw()函数 接收一个原始数据,标记一个对象,使它永远不会再成为响应式对象,也就是数据在逻辑中即使修改变化了...有些值不应该被设置为响应式的,例如复杂的第三方类库或Vue组件对象 [2]..../只读转换,并在状态关系谱中嵌入原始,非代理的对象 如果把一个嵌套的,没有标记的原始对象设置成一个响应式对象,然后再次访问它,你获取到的是代理的版本,这可能会导致对象身份风险 即执行一个依赖于对象身份的操作

    1.3K10

    VueJs中如何使用provide与inject

    前言 在vue2.0里面provide与inject是以选项式(配置)API的方式在组件中进行使用的,解决的是跨组件(祖孙)间通信的一种方式 也就是父子组件间的通信,父组件上通过自定义属性,而子组件间通过...,第二个参数(可选)):第一个参数是注入的key,来自父(祖)组件,它们两者是需要保持一致的 Vue会遍历父组件链,通过匹配key来确定所提供的值,如果父组件链上多个组件对同一个key提供了之,那么离得更近的将会覆盖链上更远的组件所提供的值...// 若是使用解构,则会丢失响应式,修改数据时,页面不会更新,具体解决,可以引入toRef或toRefs函数 const {name,website} = toRefs(person); 在孙组件中的模板即可以读取...,从父组件传递过来的数据也是支持响应式的 {{person.name}}---{{person.website}} 若使用解构时,则模板中可直接使用变量 {{name}}--{{website}}...()与inject()的使用比较简单,就是解决跨组件间通信的一种方式,对于层级嵌套比较深的组件,若子孙组件想要使用父组件中的数据 那么就可以使用这种方式进行传递数据的,这在平时的一些业务开发中,还是有些用的

    91120

    vueJs中readonly与shallowReadonly函数的使用比较

    01 readonly()函数 让一个响应式数据变为只读的,接收一个响应式数据,经过readonly加工处理一下,那么新赋值的数据都不允许修改 接受一个对象 (不论是响应式还是普通的) 或是一个 ref...,返回一个原值的只读代理 页面没有更新有两种情况 [1]....02 shallowReadonly()函数 接收一个响应式数据,经过shallowreadonly的处理,变成一个只读的,只考虑对象的第一层数据,不可以修改,但是第一层嵌套里的深层数据却支持修改 让一个响应式数据变为只读能力...+ 总结 readonly与shallowReadonly都是让响应式数据只具备读的能力,后者是浅层次的只读,也就是只对数据对象第一层起作用,深层次的嵌套,当时用shallowReadonl()处理时...,也是由产品功能决定的,支不支持修改,可以控制数据是否能读写能力

    91220

    vuejs中的组件以及父子组件间通信传值

    在切换到写Vuejs代码中,你不需要去关注dom层操作,更多的精力是放在处理数据上,数据是什么,就让页面显示什么,操作数据,就是在操做view(视图),这与JQuery是不一样的,编程思路是需要进行转化的...单纯的vuejs其实是不足以撼动jQuery的地位的,它的强大之处在于它的生态系统非常丰富,路由,模型,UI组件等各个部分的钩子等令vuejs风靡国内外,借鉴了Angular中指令,React中组件化等...在vuejs中组件与组件之间的通信,关联操作,数据共享,路由状态的切换变更,UI组件的嵌套,插件与主程序的额外拓展等,如果处理他们起来觉得很简单,那才是真简单.....,并通过在模板中绑定指令,属性的方式与数据进行关联,数据与方法进行分离,数据驱动实现页面的渲染 在上面的vuejs代码中,涉及到的知识有:vue实例化的属性和方法,模板,插值表达式({{表达式}}),指令...的经典例子 同样,我会一步一步从原生js,jQuery在到vuejs,并且实现父子元素的通信,实现效果如下图所示: 输入框内输入值,点击添加按钮,将表单中的值添加到页面中,同时,又可以删除列表项内容,注意是删除列表项而不是隐藏

    20.5K10

    VueJs中的toRef与toRefs函数的一个比较

    前言 ref是处理基本数据类型响应式API函数,在setup中声明定义的变量,可以直接在模板中使用 没有被响应式API包裹处理的变量数据,是不具备响应式能力的 也就是往往在逻辑中修改了数据,但是页面不会更新...toRef()函数 作用:创建一个ref对象,其value值指向另一个对象中的某个属性值,与原对象是存在关联关系的 也就是基于响应式对象上的一个属性,创建一个对应的ref,这样创建的ref与它的源属性是保持同步的...可以直接使用变量的,如下所示 {{name}}-{{age}}-{{web}}-{{trade}} 现在,如果我们想要去修改变量数据,会发现,逻辑中的数据会被修改,但是页面中的数据不会更新,也就是丢失了响应式...20; } 当从组合式函数中返回响应式对象时,toRefs 是很有用的。...,这两个composition API函数是非常实用的,在实际业务开发中,如果涉及到修改页面的数据,那么就会用到

    52920

    基于FPGA的电子计算器设计(中)

    支持边界扫描的逻辑元器件与测试相关的所有外部通信都采用串行通信方式,允许测试指令及相关的测试数据串行送给元器件,然后允许把测试指令的执行结果从元器件中串行读出。...4.3 按键输入电路 我们要实现一个计算器,首先需要有计算器的输入信号,通常是使用连接在FPGA的GPIO接口上的pushbutton作为输入信号。简易计算器的输入信号比较少,只需要数字和运算符号。...这样键盘中的按键的个数就是4*4=16个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。...图5-2 RTL视图 Figure 5-2 RTL view 5.1 计算器的输入部分 计算器输入部分的设计最主要的是按键译码电路的设计和实现。...中实现。

    1.1K20

    如何在Vuejs中实现页面空闲超时检测

    需求是监听3秒钟的不活动状态并显示带有10秒计时器的模态提示框。如果在10秒的会话中没有任何操作,请自动注销用户。...需求 要在Vue应用程序中监听3秒钟的不活动状态,并显示带有10秒计时器的模态提示框。如果在10秒的会话中没有任何操作,请自动注销用户。...我们可以利用vuex在状态管理中获取isIdle空闲状态数据。 基础 让我们从基本功能开始。因此,在您的App.vue文件中添加一个名为IsIdle的计算属性,该属性返回this....它表明Idle-Vue插件在我们的Vue应用程序中运行良好。 添加模态提示框 让我们为模态框创建一些样式。在此示例中,我使用的是TailwindCSS。...让我们将这个模态框组件导入到我们的App.vue文件中,并将其添加到我们的模板中。如果isIdle为true,则将显示该组件。

    3K10

    利息浅谈(五)——我的投资收益率怎么算?

    在本系列前面的文章中,我们聊到了利息产生的原理,五要素核算模型以及到存银行时候面对各种计息方式和存取周期时的斗智斗勇,以及在人生最重大的一次借钱——贷款买房时候,银行的实操的计息流程。...往期精彩回顾请戳: 利息浅谈(四)——房贷利率的惊天秘密 利息浅谈(三)——定期存款利息的秘密 利息浅谈(二)——利息到底是怎么算的? 利息浅谈(一)——为啥钱能生息?...但这里啊,因为你参与的股票,债券,理财等等投资行为,每一分钱产生的收益率是不同的,进驻投资池子的时间也不相同,部分补仓的钱是来自于工资等直接收入,中间可能还产生了部分消费而有所支取。...那在这么多操作过程中,银行活期倒是可以以给定利率一直计息下去,不管怎么算都是按季度复利计息而已,但是如何把各个部分的投资融合起来算出个综合收益,却有着很多不同的角度,今天我们就来研究一下。...好了,以上就是投资收益率计算的相关内容,各个公式各有特点,在实际操作中,我的结论是不考虑时间权重就简单的算现金加权收益就好了,考虑时间因素就用内部收益率,时间较长、收益较高的情况下记得用其复利形式(比如房贷利率就是典型

    99810

    手机计算器中输入:10%+10% = ?

    这是一个历史遗留问题,属于语法糖,叫做百分计算器。 按人类语义的理解,你去买东西,100 元钱减去 10%,那就是 90 元。早期的计算器就可以直接这样写 100 - 10%。...这么设计更深层次的原因可能与早期计算器的按键数量有限,以及单步运算的性质有关。具体有答主已经作了回答。 手机计算器保留了这种特性。 10% + 10% 就是 0.11。...每次遇到常数,p自增1,再在s中p指向的位置放入该常数。 每次遇到+-,p会自减1。 每次遇到%,令p指向的内容乘以0.01,percentPC=pc。...首先遇到常数a,b,放入s中:[a,b] ,p指向b 继续扫描,遇到%,将p指向的内容*0.01,s变成:[a , b*0.01];同时,percentPC指向code中的%。...也有计算器加了括号也没有用,这也很好推断,该计算器在生成后缀表达式时没有对括号作插入标记。 计算器的处理过程就是这么简单粗暴,也不涉及什么高深的算法。对于百分运算的特殊处理也只需多一个指针就能做到。

    1.1K30
    领券