“楼+之Python实战第9期”实验报告

挑战:完善工资计算器
import sys


def getMoney(*args):
    datadirc = {}
    try:
        for v in args:  # 101:3500
            listdata = v.split(":")  # [101,3500]
            datadirc[listdata[0]] = int(listdata[1])  # {101:3500}
        for k, x in datadirc.items():
            reducer = 0
            if x - x * 0.165 <= 3500: #小于3500是不用-3500,只需要交社保
                datadirc[k] = x - x * 0.165 #重新赋值
            elif x - x * 0.165 > 3500:
                shui = x - x * 0.165 - 3500
                if 0 <= shui <= 1500:
                    reducer = shui * 0.03 - 0
                elif 1500 < shui <= 4500:
                    reducer = shui * 0.1 - 105
                elif 4500 < shui <= 9000:
                    reducer = shui * 0.2 - 555
                elif 9000 < shui <= 35000:
                    reducer = shui * 0.25 - 1005
                elif 35000 < shui <= 55000:
                    reducer = shui * 0.3 - 2755
                elif 55000 < shui <= 80000:
                    reducer = shui * 0.35 - 5505
                elif 80000 > shui:
                    reducer = shui * 0.45 - 13505
                elif shui < 0:
                    return
                datadirc[k] = x - x * 0.165 - reducer
        for z, v in datadirc.items():
            print("%s:%.2f" % (z, v))#保留两位小数
    except:
        print("Parameter Error")


if __name__ == '__main__':
    money2 = sys.argv[1]  # get input data
    #money2=("101:3500","102:15000")#测试数据
    getMoney(*money2)
copy
最新评论
暂无评论~