标签:home 无法 令行 缩进 bsp body 本地 The 类型
我们开发了一个个税计算器,输入工资后,打印应缴纳的个税。
个税计算公式:
其中各项社会保险费我们在本程序中设置为0即可,不用考虑。
税率及速算扣除数对应表:
应纳税所得额 | 税率 | 速算扣除数(元) |
---|---|---|
不超过 1500 元 | 3% | 0 |
超过 1500 元至 4500 元 | 10% | 105 |
超过 4500 元至 9000 元 | 20% | 555 |
超过 9000 元至 35000 元 | 25% | 1005 |
超过 35000 元至 55000 元 | 30% | 2755 |
超过 55000 元至 80000 元 | 35% | 5505 |
超过 80000 元 | 45% | 13505 |
例如工资金额为 5000,那么应纳税所得额为 1500(5000-3500),应纳税额为 45 元(1500 * 3% - 0)。
程序使用 Python3 运行,执行过程如下
需要注意,程序执行的参数只有一个,并且参数为工资金额,需要为整数,如果参数数量不准确或者无法转成整数,需要打印下面这一行的错误信息:
完成任务需要达成的目标:
/home/shiyanlou/calculator.py
./calculator.py 3500
xxx.00
这种形式。int()
,如果不能正确转成整数(例如 int(‘abcd‘)),需要处理异常并打印上面的错误信息。format(1.2345, ".2f")
得到的就是有两位小数的字符串 ‘1.23‘
sys.argv
,不要使用 input() 获取输入,其中 sys.argv[0]
为脚本名称, sys.argv[1]
为第一个参数,示例:最后,因为后续的挑战将会用到现在写的代码,请使用 下载代码
保存到本地或者提交到自己的 Github。
import sys def calculator(): try: a = int(sys.argv[1]) salary = a - 3500 if salary > 80000: cal_salary = salary * 0.45 - 13504 elif salary > 55000: cal_salary = salary * 0.35 - 5505 elif salary > 35000: cal_salary = salary * 0.3 - 2755 elif salary > 9000: cal_salary = salary * 0.25 - 1005 elif salary > 4500: cal_salary = salary * 0.2 - 555 elif salary > 1500: cal_salary = salary * 0.1 - 105 else: cal_salary = salary * 0.03 print("{:.2f}".format(cal_salary)) except: print("Parameter Error") calculator()
标签:home 无法 令行 缩进 bsp body 本地 The 类型
原文地址:https://www.cnblogs.com/LifeIsHardIUsePyhon/p/9055188.html