存在一个员工信息列表:
完成以下操作:
- 遍历字典
- 判断员工级别是否为1
- 若为级别为1,则级别加1,工资加1000
错误示例:
staff_info = {'Leo': {'部门': '科技部', '工资': 3000, '级别': 1},
'Santi': {'部门': '市场部', '工资': 4000, '级别': 2},
'Cris': {'部门': '市场部', '工资': 8000, '级别': 3},
'Dybala': {'部门': '科技部', '工资': 2000, '级别': 1},
'Tom': {'部门': '市场部', '工资': 5000, '级别': 2}}
for i in staff_info:
level = staff_info[i]['级别']
salary = staff_info[i]['工资']
if level == 1:
level = 2
salary += 1000
print(staff_info)
上面的代码是错误的,运行后员工的’级别’, '工资’都未发生变化,即,上述代码仅仅遍历了字典,但并未改变字典Key值,希望有大佬给解释下错误原因🙇
下面是正确代码:
staff_info = {'Leo': {'部门': '科技部', '工资': 3000, '级别': 1},
'Santi': {'部门': '市场部', '工资': 4000, '级别': 2},
'Cris': {'部门': '市场部', '工资': 8000, '级别': 3},
'Dybala': {'部门': '科技部', '工资': 2000, '级别': 1},
'Tom': {'部门': '市场部', '工资': 5000, '级别': 2}}
for i in staff_info:
if staff_info[i]['级别'] == 1:
staff_info[i]['级别'] += 1
staff_info[i]['工资'] += 1000
print(staff_info)
=============================
>>>{'Leo': {'部门': '科技部', '工资': 4000, '级别': 2},
>'Santi': {'部门': '市场部', '工资': 4000, '级别': 2},
>'Cris': {'部门': '市场部', '工资': 8000, '级别': 3},
>'Dybala': {'部门': '科技部', '工资': 3000, '级别': 2},
>'Tom': {'部门': '市场部', '工资': 5000, '级别': 2}}