python - 如何将 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}%')
解决方案
你的问题很不清楚,但我想你正在寻找类似的东西
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]
但同样,没有看到完整的脚本,不清楚如何重构。这只是说明这一想法的一个例子。
推荐阅读
- python - 无法打开数据库文件错误 - 使用烧瓶 sqlalchemy 创建登录页面
- python - 拆分,重新排列和连接数据框中的字符串
- c++ - 如何创建可以访问私有成员和 operatore += 符号的辅助函数?
- google-sheets - Google 表格中具有条件(多名员工)的工作日累积计数
- android - 当我们将其包含到其他应用程序中时,如何在 android 中创建一个提供本地化的插件
- apache-spark - Spark - 读写表时保持分区
- php - 使用 PHP 从结果中删除数组
- elasticsearch - 如何在elasticsearch中对Height执行范围搜索
- amazon-web-services - AWS Fargate 容器无法访问
- r - 使用 if else 语句创建一个灵活的公式,可以根据呈现的刺激进行调整