一个关于Python循环的问题

某银行的存款年利率是2.01%,某客户存款本金。请编程实现下列操作:
输入样例:10000
输出样例:经过*年利息超过20%

结果似乎和你输入多少无关,因为问的是超过20%,不是超过多少钱,你看看题目是否有问题

bj = int(input())
bj1 = bj
year = 0
while True:
    bj1 *= 1.0201
    year += 1
    if bj1 > bj * 1.2:
        break
print("经过", year, "年,利息超过20%")

img

  • 这篇博客也许可以解决你的问题👉 :基于Python的开源人脸识别库:离线识别率高达99.38%——新开源的用了一下感受一下
  • 除此之外, 这篇博客: 华为机试330分python实现中的 第三大题200分,完成70% 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 有一种游戏,每个人手上有一些不同颜色和数字的卡牌。上一个人发玩牌后,下一个人可以出同样的颜色和数字。下面第一行输入数字,第二行输入颜色,请输出最优策略可以打出牌的数量。

    #输入
    #1 4 3 4 5
    #r y b b r
    #输出 
    #3
    while True:
        try:
            num_list = list(map(int, input().split()))
            color_list = input().split()
            max_num = 0
            num = 0
            for i in range(len(num_list)):
                if num_list.count(num_list[i]) == 1:
                    num = color_list.count(color_list[i])
                elif num_list.count(num_list[i]) >= 2:
                    num = color_list.count(color_list[i])
                    for j in range(i + 1, len(num_list)):
                        if num_list[i] == num_list[j]:
                            if color_list[i] == color_list[j]:
                                pass
                            else:
                                num += color_list.count(color_list[j])
                if max_num < num:
                    max_num = num
            print(max_num)
        except:
            break
    
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以解决该问题。

    题目要求计算经过多少年存款利息超过20%,实际上就是求在几年后,存款的利息达到存款本金的20%。因此,我们可以使用循环来进行计算,每次循环计算一年后的利息,如果利息超过存款本金的20%,则输出结果。具体实现步骤如下:

    1. 请用户输入存款本金,存入变量 x 中。

    2. 将年利率存入变量 rate 中,并将其转换为十进制数。由于题目中给出的是年利率,因此我们需要将其转化为月利率来进行计算。月利率的计算公式为:month_rate = annual_rate / 12。注意,年利率需要先除以100转化为小数。

    3. 初始化变量 years 和 accumulated_value,分别表示当前存款所存了几年和累计的利息。

    4. 通过循环计算每年的利息金额,直到累计利息金额超过存款本金的20%。循环内的具体实现步骤如下:

      1) 每次循环,年数 years 加 1。

      2) 计算当前年的利息金额,并将其累加到 accumulated_value 中。

      3) 判断 accumulated_value 是否已经超过存款本金的20%,如果是,则输出结果。

    5. 输出运行结果。

    实现代码如下:

    x = float(input("请在下面输入客户存款本金(单位:元),例如:10000:"))
    annual_rate = 2.01
    month_rate = annual_rate / 12 / 100
    years = 0
    accumulated_value = 0
    while accumulated_value <= x * 0.2:
        years += 1
        interest = x * month_rate
        accumulated_value += interest
    print("客户的存款本金为{:.2f}元,存款经过{}年后的利息为{:.2f}元,超过了20%。".format(x, years, accumulated_value))
    

    测试:

    请在下面输入客户存款本金单位),例如1000010000
    客户的存款本金为10000.00存款经过15年后的利息为2028.77超过了20%
    

    因此,输出结果为”客户的存款本金为10000.00元,存款经过15年后的利息为2028.77元,超过了20%。”。