Добавить значения в список из функции

Создал 2 пустых списка, на основании которых должен строиться график. В функции идёт расчёт значений для списков (на основании вводимых данных), но не получается добавить эти значения в списки. Чувствую, что решение должно быть простое, но никак не могу сообразить.

import matplotlib
import matplotlib.pyplot as plt
import math
import numpy as np
import pandas as pd
from time import sleep
import flet as ft
from flet.matplotlib_chart import MatplotlibChart

matplotlib.use("svg")
f=[]
f2=[]


def main(page: ft.Page):
    """
    Главная функция, которая добавляет элементы интерфейса на страницу.
    """
    page.title = "Программа для расчета характеристик малоотражающего покрытия"
    page.vertical_alignment = ft.MainAxisAlignment.CENTER
    page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
    page.scroll = 'always'
    page.theme_mode = 'light'

    # Текстовые поля для ввода данных
    psi_main = ft.Text()
    theta_main = ft.Text()
    R = ft.Text()
    L = ft.Text()
    C = ft.Text()
    omega_0 = ft.Text()
    c_light=3*(10**8)
    Herz_Factor = 10**9

    # Функция для закрытия окна
    def close(e):
        page.window_close()

    # Прогрессбар
    pgbarr = ft.ProgressBar(color="amber", bgcolor="#eeeeee", visible=False)

    # Функция для расчета дисперсии
    def disp(e):
        pgbarr.visible = True
        for i in range(0, 101):
            pgbarr.value = i * 0.01
            sleep(0.01)
            page.update()
        pgbarr.visible = False
        # Расчет характеристик

        psi_main.value = math.radians(float(psi.value))
        theta_main.value = math.radians(float(theta.value))
        f_00 = float(f_0.value) * Herz_Factor
        f_n0 = float(f_n.value) * Herz_Factor
        Step = (float(f_n.value) - float(f_0.value)) / (float(N.value) * Herz_Factor)
        eta1 = (float(mu_1.value)/float(eps_1.value))**0.5
        eta3 = (float(mu_3.value)/float(eps_3.value))**0.5
        R.value = (float(R1.value) + float(R2.value)) / 2
        L.value = float(mu_2.value) * (1 + float(K.value) / 4) * (math.sqrt(2) * float(R.value)**2 / (8 * math.pi * float(p.value)) + 2 * float(lp.value) * (math.log(2 * float(lp.value) / float(p.value)) + 3 / 4))
        C.value = float(eps_2.value) * float(p.value) * (float(psi_main.value) * float(R.value) + float(lp.value)) * (float(d.value) + float(d_s.value)) / (float(d.value) * float(d_s.value))
        omega_0.value = c_light / (float(eps_2.value) * float(mu_2.value) * L.value * C.value)**0.5
    omega_0.value = omega_0.value / Herz_Factor
        for i in range(0, int(N.value)+1):
            fi = f_00 * i * Step / Herz_Factor
            yi = round((float(eps_2.value) + float(Omega_eps.value) * (float(omega_0.value) * Herz_Factor)**2 / ((float(omega_0.value) * Herz_Factor)**2 - (fi * Herz_Factor)**2 - complex(float(gamma.value) * fi * Herz_Factor))).real, 3)
            f.append(fi)
            f2.append(yi)
    
        psi_main.value = str(psi_main.value)
        theta_main.value = str(theta_main.value)
        R.value = str(R.value)
        L.value = str(L.value)
        C.value = str(C.value)
        omega_0.value = str(omega_0.value)
        page.update()

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