Python【每日一问】37
问:
基础题:
设计一个复利计算函数invest(),它包含三个参数:amount(资金),rate(年利率),time(投资时间)。
键盘输入每个参数后,输出结果:返回每一年的资金总额
比如,amount = 10000 , rate = 8% ,time = 5
提高题:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are Happy,则经过替换之后的字符串为We%20Are%20Happy。
答:
基础题:
设计一个复利计算函数invest(),它包含三个参数:amount(资金),rate(年利率),time(投资时间)。
键盘输入每个参数后,输出结果:返回每一年的资金总额
比如,amount = 10000 , rate = 8% ,time = 5
方法1:
def invest(amount,rate,time):
for i in range(1,time+1):
sum=amount*(1+rate)**i
print('第{}年总额为:{:.3f}'.format(i,sum))
return sum
a=eval(input('请输入资金:'))
r=float(input('请输入年利率:'))
t=eval(input('请输入投资时间:'))
invest(a,r,t)
方法2:
def invest(amount, rate, time):
for _ in range(time):
amount *= 1+rate
return amount def main():
amount = eval(input('输入本金:'))
rate = eval(input('输入年利率:'))
time = eval(input('投资年限:'))
print(invest(amount, rate, time)) main()
方法3:
def invest(amount, rate, time):
'''
复利计算
:return:
'''
print('本金:{}'.format(amount))
for t in range(1, time + 1):
amount = amount * (1 + rate)
print('第{}年: ¥{}'.format(t, amount)) if __name__ == '__main__':
amount = float(input("请输入资金:"))
rate = float(input("请输入年利率:"))
time = int(input("请输入投资时间:"))
invest(amount, rate, time)
方法4:
def invest():
amount = int(input('input your amount:'))
rate = float(input('rate is:'))
time = int(input('your cycle is:'))
for i in range(1, time + 1):
amount *= (1 + rate)
print('第{}年 : {}'.format(i, amount))
# return amount*(1+rate)**time if __name__ == "__main__":
invest()
提高题:
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are Happy,则经过替换之后的字符串为We%20Are%20Happy。
方法1:
def change(t):
i = t.replace(' ', '%20')
return i j = str(input('请输入字符串:'))
print('替换后为:{}'.format(change(j)))
方法2:
def replace_black(string):
return string.replace(" ", "%20") def main():
string = input('输入需要处理句子:')
print(replace_black(string)) main()
方法3:
# 用原生函数实现
def convert_space_to_percent_sign(s):
s = s.replace(' ', '%20')
return s print(convert_space_to_percent_sign('We Are Happy'))
方法4:
# 1.
print('We Are Happy'.replace(' ', '%20')) # 2.
import re
print(re.sub(r' ', '%20', 'We Are Happy'))
方法5:
amount = int(input("请输入金额:"))
rate = float(input("请输入年利率:"))
time = int(input("请输入投资时间(年):"))
def invest(amount, rate, time):
for i in range(time):
money_every = amount * pow((1 + rate), i)
print("第{0}年的资金总额为:{1}".format(i, money_every))
invest(amount, rate, time)
Python【每日一问】37的更多相关文章
- [python每日一练]--0012:敏感词过滤 type2
题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
#coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...
- python每日一函数 - divmod数字处理函数
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...
- 每日一问:Android 消息机制,我有必要再讲一次!
坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...
- 每日一问:谈谈 volatile 关键字
这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...
- 每日一问:讲讲 Java 虚拟机的垃圾回收
昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...
- 每日一问:你了解 Java 虚拟机结构么?
对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...
- 每日一问:LayoutParams 你知道多少?
前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...
- 每日一问:简述 View 的绘制流程
Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...
- python每日一练:0007题
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...
随机推荐
- SAP PI开发手册-ERP发布服务供外部系统调用(sproxy代理类)
转自:https://www.cnblogs.com/fanjb/p/10829858.html 一. 接口内容 接口详细信息 1. 字段对应关系 发送字段对应关系 返回字段对应关系 2. ...
- WPF ListView ,XML
<?xml version="1.0" encoding="utf-8" ?><PersonList> <Person Id=&q ...
- WPF绑定 mode Using System.ComponentModel; IPropertyChanged, if(this.PropertyChanged!=null){ this.PropertyChanged.Invoke(this,new PropertyChangedEventArgs("Name"))
Mode,它的类型为BindingMode的枚举类型,可以取TwoWay.OneWay.OnTime.OneWayToSource.Default. oneWay:使用 OneWay 绑定时,每当源发 ...
- 百度编辑器UEditor,保存图片的配置问题
前言: 在使用百度编辑器UEditor的时候,如何将图片保存到服务器,我刚开始以为是要自己写上传文件的方法,后来发现只需要配置一下即可,如果你也正在使用百度富文本编辑器UEditor的话,这篇文章将非 ...
- Linux nodejs 安装以及配置环境
从官网中下载nodejs 打开官网 https://nodejs.org/en/download/ 复制拿到链接,下载nodejs wget https://nodejs.org/dist/v10.1 ...
- mysql判断是否包含某个字符的方法
mysql判断是否包含某个字符的方法用locate 是最快的,like 最慢.position一般实战例子:select * from historydatawhere locate('0',open ...
- win10笔记本电脑连wifi显示“无internet,安全”解决办法
吹一波, 不出意外的话,这应该是网上最全最详细的解决办法......毕竟妹子的电脑遇到了问题,咱一定要给她解决啊. 问题描述:连上了WiFi,显示“无Internet,安全”.但实际上她的电脑是有网的 ...
- Python从零开始——集合Set
一:Python集合知识概览 二:Python的特性.格式.以及各序列结构对比 三:Python集合set的创建 四:集合常用操作之——添加元素 五:集合常见操作之——删除元素 六:集合常见操作之—— ...
- Redis数据库详解
NoSQL 若杀死进程应使用pkill 数据设计模式:分布式.非关系型.不提供ACID 特性:简单数据模型.源数据和应用数据分离.弱一致性 优势: 避免不必要的复杂性 高吞吐量, 高 水平扩展能力和低 ...
- JS高阶---语句分号相关
[总结] 小括号和中括号开头的在其前必须加封号: [主体] 首先搜索下 [主体] (1)讨论---编码风格问题 (2)什么情况必须用封号? 1.其后跟着匿名式函数调用 此时可以在匿名函数前加:如下所示 ...