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

Python如何给佣金数组添加£符号并正确打印销售统计表格

问题根因
  • 你错误地将存储所有员工佣金的列表拼接成了单个完整字符串,zip迭代字符串时会逐字符拆分,导致每个员工只能匹配到字符串的单个字符,因此仅显示第一个字符£
  • 比如单员工佣金为1000时,commission2会变成"£1000",zip时会拆分为['£', '1', '0', '0', '0'],和员工列表匹配时只有第一个员工能拿到£,后续字符没有对应员工,数值自然缺失
修复方案

替换print_entered_info函数中错误的佣金处理逻辑,直接生成带£符号的佣金列表即可:

def print_entered_info(names, ids, num_sold_houses):
    print()
    row_width = 12
    comission_per_house = 500
    header = ['Name', 'Id', 'Houses Sold', 'Commission']
    print(' '.join(f'{h:<{row_width}}' for h in header))
    commission = [n * comission_per_house for n in num_sold_houses] 
    # 此处修改为生成每个员工对应的带£的佣金列表,不要拼接成单个字符串
    commission2 = [f"£{c}" for c in commission]
    # 可删除原来的join拼接逻辑和单独print commission2的测试代码
    for values in zip(names, ids, num_sold_houses, commission2):
        print()
        print(' '.join(f'{v:<{row_width}}' for v in values))
    # 后续原有逻辑保持不变即可
额外优化建议
  • 原有代码中if bonus >= max(commission):的判断完全冗余,因为bonus = max(commission),这个判断永远为真,可直接删除判断语句,保留里面的逻辑即可
  • 变量名拼写小问题:comission_per_house正确拼写应为commission_per_house,不影响运行但建议修正

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:45:06