问:

基础题:

设计一个复利计算函数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. 2019-11-25-win10-uwp-通过命令行脚本开启旁加载

    原文:2019-11-25-win10-uwp-通过命令行脚本开启旁加载 title author date CreateTime categories win10 uwp 通过命令行脚本开启旁加载 ...

  2. 2019-11-25-win10-uwp-发布旁加载自动更新

    原文:2019-11-25-win10-uwp-发布旁加载自动更新 title author date CreateTime categories win10 uwp 发布旁加载自动更新 lindex ...

  3. WPF ItemsSource Order by Getter

    public ObservableCollection<CustomerModel> CustomerCollection { get { if(customerCollection!=n ...

  4. The underlying connection was closed: An unexpected error occurred on a send

    操作系统是Windows Server 2003 x64 SP2,使用Framework 4.0,在使用WebClient访问某些特定的HTTPS站点时,会引发异常: Unhandled Except ...

  5. java 的11个特性

    以下11个特性来自于著名的"java白皮书"中,博主会针对这些特性一一进行粗略的解释.相信看完博主的这篇文章,以后在和小伙伴们吹牛逼,可就有了切实可靠的理论依据了. 11个特性分别 ...

  6. 关联mysql失败_Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon' 时区错误

    时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时. 所以要修改mysql的时长 在mysql的命令模式下,输入: set global time_zone='+8:00'; 再次连接成 ...

  7. Python基础17

    写出来的代码,若有部分不想运行,可注释掉. 看跑出来的结果,再加进来调试.

  8. MVC中IActionFilter过滤器俄罗斯套娃的实现方式

    看mvc的源码我们知道,它是在 ControllerActionInvoker 类中执行 InvokeAction 方法来实现过滤器和action方法执行的. 通过查看源码我们知道,他是通过调用 In ...

  9. c# Hashtable Synchronized vs SyncRoot

    Synchronized vs SyncRoot 我们知道,在.net的一些集合类型中,譬如Hashtable和ArrayList,都有Synchronized静态方法和SyncRoot实例方法,他们 ...

  10. maven 学习---使用“mvn site-deploy”部署站点

    这里有一个指南,向您展示如何使用“mvn site:deploy”来自动部署生成的文档站点到服务器,这里通过WebDAV机制说明. P.S 在这篇文章中,我们使用的是Apache服务器2.x的WebD ...