Функции и циклы Python для начинающих

Я застрял на этом вопросе за последний день и был бы признателен за любую помощь!

  1. В фирме зарплата сотрудников зависит от их многолетнего опыта работы.

Опыт работы (лет) Зарплата 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"

и теперь мне нужно встроить его в цикл, но я не могу этого сделать! Любой совет будет принят во внимание! Спасибо

Вы вообще умеете писать цикл? Что принадлежит внутри цикла? Какой должна быть петля? Почему должна быть петля? В чем именно сложность?

Karl Knechtel 10.12.2020 12:01
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Прежде всего, вы не можете правильно суммировать строки. Поэтому вам нужно преобразовать их в числа. Затем вы перебираете опыт каждого сотрудника и запускаете функцию, чтобы получить зарплату для каждого сотрудника. Вы суммируете это число и проверяете, больше ли оно 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.")

Другие вопросы по теме