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)
原文地址:https://www.cnblogs.com/ElegantSmile/p/10989028.html