某银行的存款年利率是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%")
有一种游戏,每个人手上有一些不同颜色和数字的卡牌。上一个人发玩牌后,下一个人可以出同样的颜色和数字。下面第一行输入数字,第二行输入颜色,请输出最优策略可以打出牌的数量。
#输入
#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
我可以解决该问题。
题目要求计算经过多少年存款利息超过20%,实际上就是求在几年后,存款的利息达到存款本金的20%。因此,我们可以使用循环来进行计算,每次循环计算一年后的利息,如果利息超过存款本金的20%,则输出结果。具体实现步骤如下:
请用户输入存款本金,存入变量 x 中。
将年利率存入变量 rate 中,并将其转换为十进制数。由于题目中给出的是年利率,因此我们需要将其转化为月利率来进行计算。月利率的计算公式为:month_rate = annual_rate / 12。注意,年利率需要先除以100转化为小数。
初始化变量 years 和 accumulated_value,分别表示当前存款所存了几年和累计的利息。
通过循环计算每年的利息金额,直到累计利息金额超过存款本金的20%。循环内的具体实现步骤如下:
1) 每次循环,年数 years 加 1。
2) 计算当前年的利息金额,并将其累加到 accumulated_value 中。
3) 判断 accumulated_value 是否已经超过存款本金的20%,如果是,则输出结果。
输出运行结果。
实现代码如下:
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))
测试:
请在下面输入客户存款本金(单位:元),例如:10000:10000
客户的存款本金为10000.00元,存款经过15年后的利息为2028.77元,超过了20%。
因此,输出结果为”客户的存款本金为10000.00元,存款经过15年后的利息为2028.77元,超过了20%。”。