функция не выводит числа в excel файл

есть формула (K=A*(1-exp(-LT))^n). при запуске функции она должна выводить(записывать) в excel -файл значения K, A, L, n, T, но при запуске она просто зависает. (по сути это обычная подборка чисел для решения уравнения)

def Calc():
    global path   
    workbook = openpyxl.load_workbook(path)
    print(workbook.get_sheet_names())
    sheet = workbook.active
    for A in range (1, 6):
       for L in range (1, 6):
           for n in range (1, 6):
               for T in np.arange (0.01, 1.00, 0.01):
                   K=A*pow((1-math.exp(-L*T)), n)                   
                   for i in range (0, 3):
                       c1 = sheet.cell(row = i+10, column = 1)
                       c1.value=K
                       c2 = sheet.cell(row = i+10, column = 2)
                       c2.value=A
                       c3 = sheet.cell(row = i+10, column = 3)
                       c3.value=L
                       c4 = sheet.cell(row = i+10, column = 4)
                       c4.value=n
                       c5 = sheet.cell(row = i+10, column = 5)
                       c5.value=T
                   workbook.save(path)   

Ответы (1 шт):

Автор решения: CrazyElf
    for A in range (1, 6):
       for L in range (1, 6):
           for n in range (1, 6):
               for T in np.arange (0.01, 1.00, 0.01):
                   K=A*pow((1-math.exp(-L*T)), n)                   
                   for i in range (0, 3):
                      ...
                   workbook.save(path)  

У вас запись файла находится внутри четырёх вложенных циклов, если посчитать, вы перезаписываете файл 100 * 5**3 = 12500 раз, поэтому так тормозит. Записывайте файл один раз в самом конце:

    for A in range (1, 6):
       for L in range (1, 6):
           for n in range (1, 6):
               for T in np.arange (0.01, 1.00, 0.01):
                   K=A*pow((1-math.exp(-L*T)), n)                   
                   for i in range (0, 3):
                      ...
    workbook.save(path) # <- запись после выполнения всех циклов
→ Ссылка