首页 > 解决方案 > 如何将 if 语句的结果分配给等式?

问题描述

我是 python 新手,我必须运行一个程序来根据用户输入获得正确的利率,并使用获得的利率来计算每月赚取的利息。

为了计算所赚取的利息,我正在尝试使用打印结果来创建一个计算每月所赚取利息的公式。但是,我已经尝试了很多事情,但我不知道如何纠正这个问题。


transaction_category = [2000, 2500, 5000, 15000, 30000]
first_50k_1_category_rates = [0.05, 1.55, 1.85, 1.90, 2.00, 2.08]

if (count == 1) and (account_balance <= 50000) and (total_eligible_monthly_transactions < transaction_category[0]):
    print(f'Interest rate applicable is: {first_50k_1_category_rates[0]: .2f}%')

if (count == 1) and (account_balance <= 50000) and (transaction_category[0] <= total_eligible_monthly_transactions < transaction_category[1]):
    print(f'Interest rate applicable is: {first_50k_1_category_rates[1]: .2f}%')

标签: python

解决方案


你的问题很不清楚,但我想你正在寻找类似的东西

if (count == 1) and (account_balance <= 50000) and (transaction_category[3] <= total_eligible_monthly_transactions < transaction_category[4]):
    applicable_interest_rate = first_50k_1_category_rates[4]

elif (count == 1) and (account_balance <= 50000) and (total_eligible_monthly_transactions >= transaction_category[4]):
    applicable_interest_rate = first_50k_1_category_rates[5]

print(f'Interest rate applicable is: {applicable_interest_rate: .2f}%')

这只是一个草图;您必须确保始终定义新变量,然后在最终方程中使用它。

可能重复的条件也应该重构,所以你不要一遍又一遍地比较相同的东西。

if (count == 1) and (account_balance <= 50000):
    if transaction_category[3] <= total_eligible_monthly_transactions < transaction_category[4]:
        applicable_interest_rate = first_50k_1_category_rates[4]
    elif total_eligible_monthly_transactions >= transaction_category[4]:
        applicable_interest_rate = first_50k_1_category_rates[5]

但同样,没有看到完整的脚本,不清楚如何重构。这只是说明这一想法的一个例子。


推荐阅读