20
Сен
2021

Возможно ли в цикле менять обрабатываемые переменные?

У меня есть несколько списков со списками оборудования оргтехники. Эти списки набираются произвольным пользовательским образом, но изначально все они имеют список-заголовок, идущий первым для формирования таблицы. Одному списку соответствует один отдел компании.

department_list = ['Бухгалтерия', 'Производство', 'Колл-центр', 'HR', 'Склад', 'Списано']
header = ['Название', 'Тип оборудования', 'Количество', 'Цена за штуку']
accountance = [header]
production = [header]
callcentre = [header]
HR = [header]
warehouse = [header]
writeoff = [header]

Изначально все оборудование попадает на склад, а затем распределяется по отделам. У меня получилось написать код для перемещения в один конкретный отдел:

def distribute(self, name, department, amount):
    distribution = [name, amount]
    if department == 'Бухгалтерия':
        for el in Warehouse.accountance:
            if distribution in el[:-1]:
                p = el[-1]
                a = el[-2]
                Warehouse.accountance.append([name, a + amount, p])
                Warehouse.accountance.remove(el)
                Warehouse.warehouse.append([name, el[-2] - amount, el[-1]])
                Warehouse.warehouse.remove(el)
            else:
                for el in Warehouse.warehouse:
                    if distribution in el[:-1]:
                        Warehouse.accountance.append([name, amount, el[-1]])
                        Warehouse.warehouse.append([name, el[-2] - amount, el[-1]])
                        Warehouse.warehouse.remove(el)
                    else: print('Ошибка: такого оборудования нет на складе!')

Я не хочу повторять этот код для всех отделов, но как - не понимаю. Есть ли у python возможность сделать какой-то псевдоним для переменной? Например, при вызове функции записать: 'Колл-центр' и она поймет, что надо обрабатывать переменную callcentre?

Источник: https://ru.stackoverflow.com/questions/1330298/%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE-%D0%BB%D0%B8-%D0%B2-%D1%86%D0%B8%D0%BA%D0%BB%D0%B5-%D0%BC%D0%B5%D0%BD%D1%8F%D1%82%D1%8C-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%B0%D1%82%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5

Тебе может это понравится...

Добавить комментарий