Форум сайта python.su
Всем привет! Я ранее уже обращался мне помогли советом. Но столкнулся дальше с проблемой )
Состряпал код который считает параметры (в моем случае три label) и выдает определенное значение - это нормально(поле ОТС 3). Но используя эти же результаты(эти же самые переменные) я хочу получить отдельный результат (поле ОТС). В связи с тем что я не очень опытный в питоне и скорее всего запутался прошу мне помочь ))
Надо что бы в поле ОТС выходил результат вычислений функции(calculations)
А в поле ОТС 3 результат вычислений с ОТС но корень из 3(функция calculat).
Далее я планирую использовать еще вычисления и хочу бы ранее введеные данные в поля(такие как ЗСЛЖ,МЖП) я мог тоже считать в другой формуле(не вбивая их повторно) Формулы расчета прикладываю
Относительная толщина стенок = (ЗСЛЖ + МЖП) / КДР (вывести на экран)
x= (МЖП + КДР + ЗСЛЖ) ^3 (его выводить не нужно)
Масса миокарда (линейное) = 0,8 * 1,04 * (x - КДР^3) + 0,6 (вывести на экран)
Индекс массы миокарда = масса миокарда (линейное) / ППТ (вывести на экран)
Надеюсь адекватно обьъяснил,жду помощи)
from tkinter import * import tkinter as tk from math import * def calculation(*args): text = sqrt(round(int(c1_count_var.get()) * int(c2_count_var.get()) // 3600)) l.config(text=text) #def calculations(*args): #text = int(c7_count_var.get() + int(c9_count_var.get() // int(c11_count_var()))) # lb.config(text=text) def calculations(*args): if c7_count_var.get() == "" or c9_count_var.get() == "" or c11_count_var.get() == "" : return x.set(str(round((int(c7_count_var.get()) * int(c9_count_var.get())) / int(c11_count_var.get())))) def calculat(*args): if c7_count_var.get() == "" or c9_count_var.get() == "" or c11_count_var.get() == "" : return v.set(str(round((int(c7_count_var.get()) * int(c9_count_var.get())) + int(c11_count_var.get())))) root = tk.Tk() root.title("Кардиология ") root.geometry("400x500") root.resizable(width=False, height=False) root['bg'] = 'grey' c1_count_var = StringVar() c1_count_var.trace('w', calculation) c2_count_var = StringVar() c2_count_var.trace('w', calculation) c7_count_var = StringVar() c7_count_var.trace('w', calculations) c7_count_var = StringVar() c7_count_var.trace('w', calculat) c9_count_var = StringVar() c9_count_var.trace('w', calculations) c9_count_var = StringVar() c9_count_var.trace('w', calculat) c12_count_var = StringVar() c12_count_var.trace('w', calculations) c11_count_var = StringVar() c11_count_var.trace('w', calculations) c11_count_var = StringVar() c11_count_var.trace('w', calculat) x = StringVar() v = StringVar() c4_count = Label(text="Кардиология", font='arial 15 bold', fg='lime', bg='black') c4_count.pack(side=TOP) #c5_count = Label(text="ППТ", font='arial 15 bold', fg='lime', bg='black') #c5_count.place(x=190, y=70) c1_count = Label(text="Рост(см)", font='arial 15 bold', fg='lime', bg='black') c1_count.place(x=5, y=70) c1_count_entry = Entry(width='5', font='Arial 15 bold', textvariable=c1_count_var) c1_count_entry.place(x=5, y=100) c2_count = Label(text="Вес(кг)", font='arial 15 bold', fg='lime', bg='black') c2_count.place(x=100, y=70) c2_count_entry = Entry(width='5', font='Arial 15 bold', textvariable=c2_count_var) c2_count_entry.place(x=100, y=100) c5_count = Label(text="ППТ", font='arial 15 bold', fg='lime', bg='black') c5_count.place(x=190, y=70) l = tk.Label(font='arial 15 bold') l.place(x=190, y=100) c4_count = Label(text="Относительная толщина стенок", font='arial 15 bold', fg='lime', bg='black') c4_count.place(x=40, y=140) c7_count = Label(text="ЗСЛЖ", font='arial 15 bold', fg='lime', bg='black') c7_count.place(x=5, y=190) c7_count_entry = Entry(width='5', font='Arial 15 bold', textvariable=c7_count_var) c7_count_entry.place(x=5, y=220) c9_count = Label(text="МЖП", font='arial 15 bold', fg='lime', bg='black') c9_count.place(x=80, y=190) c9_count_entry = Entry(width='5', font='Arial 15 bold', textvariable=c9_count_var) c9_count_entry.place(x=80, y=220) c11_count = Label(text="КДР", font='arial 15 bold', fg='lime', bg='black') c11_count.place(x=170, y=190) c11_count_entry = Entry(width='5', font='Arial 15 bold', textvariable=c11_count_var) c11_count_entry.place(x=170, y=220) c12_count = Label(text="ОТС", font='arial 15 bold', fg='lime', bg='black') c12_count.place(x=240, y=190) Output = Label(textvariable=x, font='arial 15 bold') Output.place(x=260, y=220) c13_count = Label(text="ОТС^3", font='arial 15 bold', fg='lime', bg='black') c13_count.place(x=300, y=190) Outputs = Label(textvariable=v, font='arial 15 bold') Outputs.place(x=305, y=220) root.mainloop()
Офлайн
проблема в чем?
Добавь еще одну функцию и вычисляй что хочешь
Офлайн
ZerGВот как раз проблема в этом и состоит. Я добавил функцию в данном случае ее зовут “calculat” а вычисления не работают. Может у меня глаз замылился и я не вижу очевидную ошибку )
проблема в чем?Добавь еще одну функцию и вычисляй что хочешь
Офлайн
Сорри но код ваш режет глазики
Названия не очевидны - все в столбик - потому разобраться в нем можно только если приставят пистолет к виску
Но на вскидку
c11_count_var = StringVar() c11_count_var.trace('w', calculations) c11_count_var = StringVar() c11_count_var.trace('w', calculat)
Офлайн
ZerGМожет быть и перезатираю.
Сорри но код ваш режет глазикиНазвания не очевидны - все в столбик - потому разобраться в нем можно только если приставят пистолет к вискуНо на вскидку
Офлайн