“”"
现有 公司员工的薪资记录,其内容格式如下
name: Jack ; salary: 12000
name :Mike ; salary: 12300
name: Luk ; salary: 10030
name :Tim ; salary: 9000
name: John ; salary: 12000
name: Lisa ; salary: 11000
每个员工一行,记录了员工的姓名和薪资,
每行记录 原始文件中并不对齐,中间有或多或少的空格
现要求实现一个python程序,计算出所有员工的税后工资(薪资的90%)和扣税明细,如下所示
name: Jack ; salary: 12000 ; tax: 1200 ; income: 10800
name: Mike ; salary: 12300 ; tax: 1230 ; income: 11070
name: Luk ; salary: 10030 ; tax: 1003 ; income: 9027
name: Tim ; salary: 9000 ; tax: 900 ; income: 8100
name: John ; salary: 12000 ; tax: 1200 ; income: 10800
name: Lisa ; salary: 11000 ; tax: 1100 ; income: 9900
要求像上面一样的对齐
tax 表示扣税金额和 income表示实际收入。注意扣税金额和 实际收入要取整数
“”"
# 把原始记录切割成一行行,用splitlines()方法,输出的是list
for line in beforeTax.splitlines():
if line.count(';') != 1:
continue
namepart, salarypart = line.split(';') # 列表中的元素直接赋值
#print(namepart, salarypart)
name = namepart.split(':')[1].strip() # 获取员工的名字,其中split(':')用冒号分割取[1],strip()移除空格或换行符
salary = int(salarypart.split(':')[1].strip()) # 获取员工的薪资
tax = int(salary * 0.1)
income = int(salary * 0.9)
# 把题目本身要求输出的格式copy到f'后面,然后再用{}占位符把变量放进去;{:8}表示占位8字符。
print(f'name: {name:8} ; salary: {salary:6} ; tax: {tax:6} ; income: {income:6}')