如何修改Python

怎么能让输入的薪资,对应上相应的人,并且能打印出来,入门求讲(在此基础上修改)

img

用字典吧

你输入个人名,在开一个list记录人名, 人名和薪资正好下表对应。
要不你就用字典,薪资对应一个list来记录人名

list

这样子看看

num = 0
salary = []
all_salary = 0
while True:
    s = input(f"输入员工{num+1}薪资:(输入0退出)\n")
    try:
        ss = float(s)
        if ss == 0:
            print("录入完成,退出")
            break
        ss = round(float(s), 2)
        num += 1
        salary.append(ss)  # 留两个小数点
        all_salary += ss
    except ValueError:
        print("输入有误!")


i = 1
while i <= num:
    print("员工{}的薪资为{}元".format(i, salary[i-1]))
    i += 1
print("{}位员工平均薪资为:{}".format(num, all_salary/num))


```

题主的需求:怎么能让输入的薪资,对应上相应的人,并且能打印出来
功能的实现:用字典实现
代码仅供学习交流

salary = {}  # 用dict的key,value分别对应姓名,薪资。
while 1:
    name = input('输入姓名: ').strip()  # 删除前导和尾随空格
    if name in 'q|Q':  # 用in比用多个==要好,但空串("")会返回真值
        print('退出录入')
        break  # 退出录入

    while 1:  # 录入薪资
        s = input(f'{name}的薪资: {salary.get(name, 0)}\n'  # 取薪资原值,注意不能用salary[name], name不存在会抛出异常
                  f'直接回车录入下一个, 否则将修改{name}的薪资: ').strip()
        if s in "":
            break  # 空串("")跳出到姓名录入

        try:  # 转浮点数的异常处理
            s = round(float(s), 2)  # 2位小数
            if s > 0:
                salary[name] = s  # 更新薪资
                break  # 跳出到姓名录入

            raise ValueError(f'薪资{s}<=0, 输入有误')  # 薪资<=0,抛出异常
        except Exception as e:
            print(e)  # 处理异常

if slen := len(salary):  # 避免除零异常
    from pprint import pprint
    pprint(salary)  # 美化打印
    print(f'平均薪资: {sum(salary.values()) / slen:.2f}')  # 2位小数
print(f'员工人数: {slen}')