我是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}%')
答案 0 :(得分:1)
您的问题尚不清楚,但是我想您正在寻找类似的东西
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]
但是同样,在没有看到完整脚本的情况下,不清楚如何重构。这仅仅是说明这一想法的一个例子。
答案 1 :(得分:0)
因此,您可以在一个代码块中执行if / else,或将这些print语句转换为变量并返回它们。两者都会说结果为var name。
def foo(condition1, condition2):
if condition1 < condition2:
result = (1 + 1)
if 1 == False:
result = (1 - 1)
return result
print(foo(1, 2))
(lambda :f"b:{b}",lambda :f"a:{a}")[a>b]()
这样的更具功能性的编程方面,还有更好的方法可以做到这一点,但是看来这种代码风格势在必行,所以请坚持这一点。 答案 2 :(得分:0)
如果您在使用示波器方面遇到麻烦,则可以尝试以下(安全的)方法:
_scope = {
"applicable_interest_rate1": first_50k_1_category_rates[4],
"applicable_interest_rate2": first_50k_1_category_rates[5],
}
def foo(condition1, condition2):
if condition1 < condition2:
result = _scope["applicable_interest_rate1"]
if 1 == False:
result = _scope["applicable_interest_rate2"]
return result
print(foo(1, 2))