问:

基础题:

设计一个复利计算函数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的更多相关文章

  1. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

  2. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词

    #coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...

  3. python每日一函数 - divmod数字处理函数

    python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...

  4. 每日一问:Android 消息机制,我有必要再讲一次!

    坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...

  5. 每日一问:谈谈 volatile 关键字

    这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...

  6. 每日一问:讲讲 Java 虚拟机的垃圾回收

    昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...

  7. 每日一问:你了解 Java 虚拟机结构么?

    对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...

  8. 每日一问:LayoutParams 你知道多少?

    前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...

  9. 每日一问:简述 View 的绘制流程

    Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...

  10. python每日一练:0007题

    第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...

随机推荐

  1. VS2019已还原ReSharper的功能

    本文只谈论 ReSharper 的那些常用功能中,Visual Studio 2019 能还原多少,主要提供给那些正在考虑不使用 ReSharper 插件的 Visual Studio 用户作为参考. ...

  2. mvc 返回json格式时间格式化

    protected override JsonResult Json(object data, string contentType, System.Text.Encoding contentEnco ...

  3. word转txt

    import org.apache.poi.hwpf.extractor.WordExtractor; import java.io.IOException; import java.io.Input ...

  4. linux 修改文件打开数量限制

    1.查看打开文件数量限制 ulimit -a ulimit -n 2.临时修改 ulimit -n 2048 3.永久修改 vi /etc/security/limits.conf 追加 * soft ...

  5. Python从零开始——字符串String

    一:Python字符串有哪些内容 二:Python字符串操作符 三:Python字符串格式化——占位符格式化 四:Python字符串格式化——format()函数 五:Python字符串常用操作函数

  6. Ubuntu启动器快捷方式文件解析

    快捷方式名称 app_name.desktop 路径: /usr/share/applications/app_name.desktop # 简洁快捷方式格式 [Desktop Entry] Name ...

  7. LR性能测试分析流程

    LR性能测试分析流程 一.     判断测试结果的有效性 (1)在整个测试场景的执行过程中,测试环境是否正常. (2)测试场景的设置是否正确.合理. (3)测试结果是否直接暴露出系统的一些问题. (4 ...

  8. 使用spring aop 记录接口日志

    spring配置文件中增加启用aop的配置 <!-- 增加aop 自动代理配置 --> <aop:aspectj-autoproxy /> 切面类配置 package com. ...

  9. NLP中的预训练语言模型(四)—— 小型化bert(DistillBert, ALBERT, TINYBERT)

    bert之类的预训练模型在NLP各项任务上取得的效果是显著的,但是因为bert的模型参数多,推断速度慢等原因,导致bert在工业界上的应用很难普及,针对预训练模型做模型压缩是促进其在工业界应用的关键, ...

  10. 201871010105-曹玉中《面向对象程序设计(java)》第十二周学习总结

    201871010105-曹玉中<面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...