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

如何实现输入<0时终止程序并按字母序输出最低税率相同的国家

优化Python税率计算程序:处理负数收入终止与多最低税率排序输出

功能实现目标

  • 输入收入值小于0时,程序立即终止运行
  • 当多个国家的最低税率相同时,按字母顺序输出这些国家名称

修复并优化后的代码

while True:
    income = int(input('Income: '))
    # 输入负数直接终止程序
    if income < 0:
        break

    # Canada 税率计算
    canada_tax_rate = 0.26
    canada = canada_tax_rate * income

    # Norway 税率计算(修复原代码未处理income=3000的bug)
    if income > 3000:
        norway_tax1 = 0.1 * 3000
        tax_left = income - 3000
        norway_tax2 = 0.4 * tax_left
        norway_tax = norway_tax1 + norway_tax2
    else:
        norway_tax = 0.1 * income

    # Denmark 税率计算(修复原代码重复计算余数的bug)
    denmark_tax = 0
    percent = 0
    thousands = income // 1000
    remainder = income % 1000
    for _ in range(thousands):
        denmark_tax += percent * 1000
        percent += 0.1
    denmark_tax += percent * remainder

    # USA 税率计算
    if income <= 1500:
        USA_tax = 0.12 * income
    elif 1500 < income <= 6000:
        USA_tax = 0.25 * income
    elif 6000 < income <= 10000:
        USA_tax = 0.38 * income
    else:
        USA_tax = 0.15 * income

    # 整理所有国家的税率与名称
    tax_records = [
        (canada, 'Canada'),
        (norway_tax, 'Norway'),
        (denmark_tax, 'Denmark'),
        (USA_tax, 'USA')
    ]

    # 找到最低税率值
    min_tax_value = min(record[0] for record in tax_records)
    # 筛选出所有税率等于最低值的国家,并按字母排序
    lowest_countries = sorted([country for tax, country in tax_records if tax == min_tax_value])

    # 输出结果
    print(f'Lowest tax: {min_tax_value}')
    print(' '.join(lowest_countries))

关键修改说明

  1. 循环逻辑优化:改用while True循环,输入后立即判断收入是否为负,是则直接break终止,避免无效计算
  2. 修复挪威税率计算bug:原代码未处理income=3000的情况,改用else覆盖所有收入≤3000的场景,避免变量未定义报错
  3. 修复丹麦税率计算bug:原循环中重复计算余数部分,调整为仅在循环结束后计算一次余数的税,确保计算准确
  4. 多最低税率处理:将税率与国家名存入列表,通过min()获取最低税率值,筛选所有符合条件的国家后用sorted()按字母排序,最后用join()输出
  5. 代码可读性提升:调整变量命名(如canada_tax改为canada_tax_rate),拆分复杂计算步骤,使逻辑更清晰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:01:17