You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于用户选择的EFIR/EFLR电力套餐实现差异化用电计算

电力套餐计费程序实现

现有基础代码

原代码仅实现套餐选择功能:

# 电力套餐
# 可选电力套餐

eplan = input('请输入你的电力套餐(EFIR 或 EFLR): ')

if eplan.lower() == 'efir':
    print('感谢你选择 EFIR 套餐')

elif eplan.lower() == 'eflr':
    print('感谢你选择 EFLR 套餐')

else:
    print('请输入套餐的正确缩写')

需求说明

实现用户选择EFIR或EFLR套餐后,输入月度用电量(对应代码:kwha = int(input('请输入当月用电量(单位:度): '))),系统根据所选套餐执行差异化计费逻辑,计算出当月电费。

完整实现代码

我们假设两种套餐的计费规则如下(可根据实际规则调整):

  • EFIR套餐:阶梯计费,每月前300度按0.5元/度收费,超出300度的部分按0.7元/度收费
  • EFLR套餐:统一单价,所有用电量均按0.6元/度收费

完整代码:

# 电力套餐计费程序
# 可选套餐:EFIR(阶梯计费)、EFLR(统一单价)

# 选择套餐
eplan = input('请输入你的电力套餐(EFIR 或 EFLR): ')

# 套餐验证与后续流程
if eplan.lower() == 'efir':
    print('感谢你选择 EFIR 套餐')
    # 获取当月用电量
    try:
        kwha = int(input('请输入当月用电量(单位:度): '))
        if kwha < 0:
            print('用电量不能为负数,请重新输入')
        else:
            # EFIR套餐计费逻辑
            if kwha <= 300:
                total_cost = kwha * 0.5
            else:
                total_cost = 300 * 0.5 + (kwha - 300) * 0.7
            print(f'当月电费为:{total_cost:.2f} 元')
    except ValueError:
        print('请输入有效的数字作为用电量')

elif eplan.lower() == 'eflr':
    print('感谢你选择 EFLR 套餐')
    # 获取当月用电量
    try:
        kwha = int(input('请输入当月用电量(单位:度): '))
        if kwha < 0:
            print('用电量不能为负数,请重新输入')
        else:
            # EFLR套餐计费逻辑
            total_cost = kwha * 0.6
            print(f'当月电费为:{total_cost:.2f} 元')
    except ValueError:
        print('请输入有效的数字作为用电量')

else:
    print('请输入套餐的正确缩写(EFIR 或 EFLR)')

代码说明

  • 加入异常处理:捕获用户输入非数字的情况,避免程序崩溃
  • 增加合法性校验:判断用电量是否为负数
  • 实现差异化计费逻辑:根据两种套餐的规则分别计算电费
  • 输出结果保留两位小数,符合金额显示规范

内容的提问来源于stack exchange,提问作者xozra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:15:53