字符串split和strip实例

“”"
现有 公司员工的薪资记录,其内容格式如下

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}')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值