kittenpuppy 发表于 2020-12-25 15:12:35

python小白来求助

小白来啦!
问题如下:
某人想通过银行存钱,问,存多少年才能达到预期的金额。存期为一年为单位,存款以元为单位。一年期的利率为3%(不考虑利率调整)
i =0
bj =float(input("请输入你的存款本金:"))
yq =float(input("请输入你的预期金额:"))
while yq != bj:
    bj = bj + bj * 0.03
    i = i + 1
print("你好,你存够",yq,"需要",i,"年!")

这样只能一些特定的数字才能算出来,比如本金是100元,预期金额是103元,需要存1年,但是其他金额就不行,应该怎么改进呢?非常感谢!

qq1151985918 发表于 2020-12-25 15:16:51

本帖最后由 qq1151985918 于 2020-12-25 15:24 编辑

很简单啊,你只需要把 != 改成>就好了i =0
bj =float(input("请输入你的存款本金:"))
yq =float(input("请输入你的预期金额:"))
while yq > bj:
    bj = bj + bj * 0.03
    i = i + 1
print("你好,你存够",yq,"需要",i,"年!")


其实这个题目可以简单化,因为
预期金额=存款本金*1.03的存款年数次幂,
也就是
yq=bj*(1.03^n),求n的值,不仅能求出用几年,还能精确到几个月。

逃兵 发表于 2020-12-25 15:20:35

i =0
bj =float(input("请输入你的存款本金:"))
yq =float(input("请输入你的预期金额:"))
while yq > bj:
    bj = bj + bj * 0.03
    i = i + 1
print("你好,你存够",yq,"需要",i,"年!")

kittenpuppy 发表于 2020-12-25 15:35:56

哈哈,小白很惭愧,也很感谢各位!

派头557 发表于 2020-12-26 10:04:44

本帖最后由 派头557 于 2020-12-26 10:14 编辑

阿巴阿巴
页: [1]
查看完整版本: python小白来求助