
Питон Игрок получает прибыль с предприятия каждый час. Прибыль игрока строится на разнице доходов
и расходов, а они, в свою очередь, зависят от количества проведенных модернизаций. На вход программе подается уровень модернизаций, тебе необходимо вывести сумму прибыли игрока за час. Сумму необходимо округлить до целого числа. Не забудь про валидацию, и в случае неправильных значений, выводи "error"! Таблица влияния модернизации на прибыль предприятия представлена ниже. кол-во модернизаций расходы доходы без модернизации 50000 70000 1 -5% +30% 2 -5% +30% 3 -5% +30% 4 -5% +50% 9 -5% +100% 16 -30% +50% 26 -30% +50% 36(max) -30% +100%

Ответы на вопрос

Ответ:
Объяснение:
ras=50000
doh=70000
m=[1,2,3,4,9,16,26,36] #допустимые значения
r=[5,5,5,5,5,30,30,30] #процент расхода
d=[30,30,30,50,100,50,50,100] #процент дохода
n=int(input('Уровень модернизации:'))
if n in m:
i=m.index(n)
ras*=1-r[i]/100
doh*=1+d[i]/100
print('прибыль:',round(doh-ras))
else:
print('error')



Для решения этой задачи можно использовать условные операторы в Python. Ниже представлен пример решения задачи с валидацией и округлением до целого числа:
pythondef calculate_profit(num_upgrades):
if num_upgrades < 0 or num_upgrades > 36:
return "error"
expenses = 50000
income = 70000
if num_upgrades >= 1 and num_upgrades <= 4:
expenses *= (1 - 0.05 * num_upgrades)
income *= (1 + 0.3 * num_upgrades)
elif num_upgrades >= 9 and num_upgrades <= 16:
expenses *= 0.95 # -5% от расходов
income *= (1 + 0.5 * (num_upgrades - 4))
elif num_upgrades >= 16 and num_upgrades <= 36:
expenses *= 0.7 # -30% от расходов
income *= (1 + 0.5 * (num_upgrades - 4))
elif num_upgrades == 36:
expenses *= 0.7 # -30% от расходов
income *= 2 # +100% доходов
profit = income - expenses
return round(profit)
# Пример использования:
num_upgrades = 10
profit = calculate_profit(num_upgrades)
if profit == "error":
print("Ошибка входных данных!")
else:
print("Прибыль игрока за час:", profit)
В этом примере функция calculate_profit
принимает количество модернизаций num_upgrades
в качестве аргумента и возвращает прибыль игрока за час, округленную до целого числа. Если переданное количество модернизаций выходит за диапазон от 0 до 36, функция возвращает строку "error". После вызова функции можно проверить результат и вывести его на экран.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili