Добавить значения в список из функции
Создал 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()