初学者 Python 函数和循环

Beginner Python Functions & Loops

过去一天我一直被这个问题困住,希望得到任何帮助!

  1. 在公司里,员工的工资是根据他们的工作经验年数计算的。

工作经验(年)薪资 0-3 $25000 4-8 美元 50000 美元 9-13 $75000 14-20 $100000 超过 20 年 $150000

同一家族有4名员工,工作经验分别为8年、25年、15年 岁和 45 岁。使用 a) 中创建的函数和一个循环,计算并打印 这个家庭的总收入。然后,让用户知道家庭的总收入是 超过 150,000 美元。您不需要为此接受用户的任何输入 问题。

到目前为止我已经想出了这个功能,

def salary(experience):
if experience <=3.9:
    return "000"
elif experience <=8.9:
    return "000"
elif experience <=13.9:
    return "000"
elif experience <=20:
    return "0000"
else:
   return "0000"

我现在需要将它嵌入一个循环中,但我这辈子都做不到! 任何意见,将不胜感激! 谢谢

首先,你不能正确地求和字符串。因此,您需要将它们转换为数字。然后,您遍历每位员工的经历和 运行 函数以获得每位员工的薪水。您对这个数字求和并检查它是否大于 150000

在这里

def get_salary_from_experience(experience):
    if experience <= 3.9:
        return 25000
    elif experience <= 8.9:
        return 50000
    elif experience <= 13.9:
        return 75000
    elif experience <= 20:
        return 100000
    else:
        return 150000


employee_experience_list = [8, 25, 15, 45]

salary_sum = 0

for employee_exp in employee_experience_list:
    salary_sum += get_salary_from_experience(employee_exp)

print("Total salary {}".format(salary_sum))


if salary_sum > 150_000:
    print("Yes")
else:
    print("Not")

这如您所愿。请尝试使用 9 年有效的所有其他解决方案,但对于 8.95 年的经验,您不应该设置像 8.9 it returns 75000 这样的限制。但是它应该返回 $50,000

family_experience_list = [5,9,11,14]

def salary(experience):
    if experience <4:
        return 25000
    elif experience <9:
        return 50000
    elif experience <14:
        return 75000
    elif experience <=20:
        return 100000
    else:
       return 150000

total_salary = 0
for exp in family_experience_list:
    cr_salary = salary(exp)
    total_salary += cr_salary
    print("{}$ salary for {} experience".format(cr_salary, exp))

if total_salary > 150000:
    print("\nThe family income exceeds 150,000.")
else:
    print("\nThe family income is less than or equal to 150,000.")