Я застрял на этом вопросе за последний день и был бы признателен за любую помощь!
Опыт работы (лет) Зарплата 0-3 $25000 4-8 $50000 9-13 $75000 14-20 $100000 более 20 лет $150000
Работают 4 сотрудника из одной семьи со стажем 8 лет, 25 лет, 15 лет. лет и 45 лет. Используя функцию, созданную в а), и цикл, вычислите и напечатайте общий доход этой семьи. Затем сообщите пользователю, составляет ли общий доход семьи более 150 000 долларов. Вам не нужно принимать какие-либо входные данные от пользователя для этого вопрос.
Я уже придумал эту функцию до сих пор,
def salary(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"
и теперь мне нужно встроить его в цикл, но я не могу этого сделать! Любой совет будет принят во внимание! Спасибо
Прежде всего, вы не можете правильно суммировать строки. Поэтому вам нужно преобразовать их в числа. Затем вы перебираете опыт каждого сотрудника и запускаете функцию, чтобы получить зарплату для каждого сотрудника. Вы суммируете это число и проверяете, больше ли оно 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.9, они возвращают 75000 за 8,95-летний опыт. Однако он должен был вернуть 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.")
Вы вообще умеете писать цикл? Что принадлежит внутри цикла? Какой должна быть петля? Почему должна быть петля? В чем именно сложность?