首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python大学任务

Python大学任务
EN

Stack Overflow用户
提问于 2020-04-16 17:14:49
回答 1查看 71关注 0票数 0

任务条件:

薪金表列为两个表。第一个是商店雇员的名字,第二个是当月的工资。找到一个员工的姓,该员工的薪资与当前月份所有员工的平均薪资相差最小。找出两个工资最高的工人的名字。从薪资中删除员工信息,薪资最低。

我写这样的代码是为了找到一个雇员的姓,他的工资与平均工资相差最小:

代码语言:javascript
复制
N = int(input('Enter number of workers: '))
salaries_arr = []
surnames_arr = []
for i in range(N):
    print('Worker', i + 1)
    surnames = input(f'Enter surname of worker {i + 1}: ', )
    salary = int(input(f'Salary of worker {i + 1}: '))
    salaries_arr.append(salary)
    surnames_arr.append(surnames)
info_arr = list(zip(surnames_arr, salaries_arr))
average_salary = sum(salaries_arr) / N
print(info_arr)
print(average_salary)
difference_salary = []
for i in range(N):
    difference_salary.append(abs(salaries_arr[i] - average_salary))
print(difference_salary)
minima = max(difference_salary)
pos = 0
for j in range(N):
    if difference_salary[j] < minima:
        minima = difference_salary[j]
        pos = j
print("Minimal salary deviation has worker: ", surnames_arr[pos])

但我不明白我怎么能找到另外两个条件。我将感谢你的想法或解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-16 17:47:56

要知道薪资最高的两个员工的名称,可以执行以下步骤--根据薪资按递减顺序对

  • 排序info_arr数组。排序数组的前两个元素将有两个薪资最高的员工的名称。在代码中,它将类似于下面的

代码语言:javascript
复制
sorted_salary = sorted(info_arr, key=lambda x: x[1], reverse=True)
largest_salary_person1 = sorted_salary[0]
largest_salary_person2 = sorted_salary[1]

若要从薪资中删除员工信息,请执行以下步骤--通过所有员工的薪资和薪资最低的员工的存储索引,执行以下步骤:surname_arr.和salaries_arr在上面计算的指标处的

  • Pop元素

代码语言:javascript
复制
    # Find worker having least salary
    least_salary_worker_index = 0
    least_salary = salary_arr[0]
    for i in range(1, len(salary_arr)):
        current_worker_salary = salary_arr[i]
        if current_worker_salary < least_salary:
            least_salary = current_worker_salary
            least_salary_worker_index = i

    # Remove information of employee with least salary
    salary_arr.pop(least_salary_worker_index)
    surname_arr.pop(least_salary_worker_index)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61256083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档