while True: # Выполняем цикл до ошибок
offer = int(input('Количество офферов = ')) # Вводим количество офферов,целое число
i = 0 # Просто переменная для счетчика
total_payout = float() # Создаем пустуб переменную с типом float, будут дробные числа выплат за лид
while i < offer: # Если несколько офферов то вводим данные по выплате на каждый
i= i + 1
print ('Цена за лид #%i'% i, ' = ')
payout = float(input()) # Добавляем в переменню данные с ввода
total_payout = total_payout + payout # Делаем новую переменную в которой будет сумма всех выплат за каждый оффер
lp = int(input('Количество лендов = ')) # Количество лендов
banners = int(input('Количество баннеров = ')) # Количество баннеров.
testType = int(input('Тип теста : 1)Поверхностный(минимальные затраты) , 2)Стандарт , 3)Аргессивный(максимальная трата) - ')) # Тип теста
if banners == 0 : #Незнал как сделать что если вводят 0 то переменная была бы пустая
banners = 0.1 #Пусть будет 0.1 все равно int() округлит до целого числа
def budget(): # Функция подсчета бюджета кампании на основе введеных данных
if testType == 1: # Если тип теста Поверхностный
total_budget = (((total_payout * 1.5) + (lp * 1.5) + (banners * 1.5))) * 1.5 # Считаем бюджет
return total_budget # Возвращаем бюджет кампании
if testType == 2: # Если тип теста Стандарт
total_budget = (((total_payout * 3) + (lp * 3) + (banners * 3))) * 3 # Считаем бюджет
return total_budget # Возвращаем бюджет кампании
if testType == 3: # Если тип теста Аргессивный
total_budget = (((total_payout * 5) + (lp * 5) + (banners * 5))) * 5 # Считаем бюджет
return total_budget # Возвращаем бюджет кампании
budget() # Вызываем функцию,тут почему-то неполучаю total_budget
print('Бюджет теста кампании = ', total_budget) # В итоге не выводится total_budget, говорит что нет такой переменной
print('Бюджет теста кампании = ', budget())
total = budget() # явно присваиваем результат выполнения функции переменной
print('Бюджет теста кампании = ', total) выводим значение переменной