Python技术迷

某大厂员工:QA开发出来一堆东西,让研发来测试,AI工具越来越完善,写代码变成了挂机,验证代码成了主要工作了

刚看到个贴子,说某大厂员工吐槽:现在 QA 开发一堆自动化东西,也不好好测,最后都丢给研发自测;加上 AI 写代码越来越方便,写码像挂机,结果大家天天在那儿验证代码。

Image

网友们的回帖我大概看了下,有的骂 QA 摆烂,有的说研发也该多负责质量,还有的感叹:AI 没让工作轻松,只是换种方式累。

我觉得这事吧,表面看是“甩锅”,本质还是分工和考核没想明白:只看需求上线速度,不看质量闭环,谁闲谁背锅,这是必然。

AI 只是把“写代码”这块变便宜了,“懂业务、会设计、能负责结果”这块反而更值钱。

换个角度想,研发被推去做测试,也是提醒大家:别再把自己当螺丝钉,只会敲代码很危险,多学一点测试思维、产品视角,才不怕工具迭代。

面试题:计算税后工资

昨天晚上十一点多,我在公司楼下啃着一个已经凉透的肉夹馍,手机一震,我们组那个小李在群里问我: “东哥,我手上有一堆工资数据,要算税后工资,能不能用一段 Python 写死一个算发啊?我脑子都乱了。”

我一看这问题,其实挺常见的,发工资的时候大家不是关心“税前多少”,而是盯着那个“到卡里到底有几块钱”,对吧。

所以就按我们日常上班那套场景说,说人话版本,不整那些很吓人的公式。

我先帮小李捋了一下工资结构,简单粗暴一点,先不考虑特别花哨的那种,只看常用的几块:

  1. 税前工资:公司给你开多少,比如 20000。
  2. 五险一金:养老、医疗、公积金那些,从你工资里先扣一部分。
  3. 起征点:现在普遍按 5000 算(每个月)。
  4. 专项附加扣除:比如子女教育、房贷利息啥的,有的话再减一点。

所以你每个月真正要交个税的那一块,公式其实就一行:

应纳税所得 = 税前工资 - 五险一金 - 起征点 - 专项附加扣除

小李当时在语音里说:“东哥你别念公式,你给我写成代码我就懂了。”行,那就直接上 Python。

先写一个很土但好懂的版本,把中国个税的那几档写进去就行了,我懒得搞什么配置文件,小脚本直接跑:

# -*- coding: utf-8 -*-

defcalc_tax(taxable):
"""
    传入已经算好的【应纳税所得额】,返回当月个税金额
    """

if taxable <= 0:
return0.0
elif taxable <= 3000:
        rate = 0.03
        quick = 0
elif taxable <= 12000:
        rate = 0.10
        quick = 210
elif taxable <= 25000:
        rate = 0.20
        quick = 1410
elif taxable <= 35000:
        rate = 0.25
        quick = 2660
elif taxable <= 55000:
        rate = 0.30
        quick = 4410
elif taxable <= 80000:
        rate = 0.35
        quick = 7160
else:
        rate = 0.45
        quick = 15160

return taxable * rate - quick


defcalc_after_tax_salary(
    gross_salary,
    social_insurance,
    special_deduction=0
)
:

"""
    计算税后到手工资
    :param gross_salary: 税前工资
    :param social_insurance: 五险一金个人部分
    :param special_deduction: 专项附加扣除(有就填,没有就填0)
    """

# 1. 先算应纳税所得额
    threshold = 5000# 起征点
    taxable = gross_salary - social_insurance - threshold - special_deduction

# 2. 算个税
    tax = calc_tax(taxable)

# 3. 到手工资 = 税前 - 五险一金 - 个税
    net_salary = gross_salary - social_insurance - tax

return {
"taxable_income": max(taxable, 0),
"tax": max(tax, 0),
"net_salary": net_salary
    }


if __name__ == "__main__":
# 随便举个例子:税前 20000,五险一金 3000,专项附加 1000
    result = calc_after_tax_salary(20000, 3000, 1000)
    print("应纳税所得额:", result["taxable_income"])
    print("个人所得税:", result["tax"])
    print("税后到手:", result["net_salary"])

这个代码逻辑其实就是我们刚才唠的那几步翻译成 Python 而已:

工资先减掉五险一金,再减 5000 起征点,再减掉各种专项附加,得到“应纳税所得额”; 然后按个税分档表算出“本月该交多少税”; 最后税前工资减掉五险一金、再减掉个税,就得到到手的钱。

小李看完之后说:“东哥,这个能不能再顺一点,我以后要算一批人,能不能直接循环一遍就完事?”

那也简单,拿个列表随便撸一下,比如从 Excel 里读出来以后塞成字典列表,伪造一下数据:

employees = [
    {"name": "小李", "salary": 20000, "social": 3000, "special": 1000},
    {"name": "小王", "salary": 15000, "social": 2500, "special": 0},
    {"name": "小张", "salary": 8000,  "social": 1500, "special": 500},
]

for emp in employees:
    res = calc_after_tax_salary(
        emp["salary"],
        emp["social"],
        emp["special"]
    )
    print(
        emp["name"],
"税后:", res["net_salary"],
"个税:", res["tax"]
    )

这样一跑,整组人的税后工资就出来了,后面你要写进 Excel、入库、发报告,都可以接着往后接。

-END-

我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html

🔥虎哥私藏精品🔥

虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB