# coding=1251
from tkinter import *
root=Tk()
root.title(“Врач диагнос”)
diagnos = 0 # Тип Врача: 0 - не выбран, 1 - Диагностика заболеваний ЦНС,
# 2 - Диагностика заболеваний дыхательной системы, 3 - Диагностика заболеваний сердечно сосудистой системы,
# 4 - Диагностика заболеваний желудочно-кишечного тракта, 5 - Расчет инфузинной терапии.
# Ориентеровочные нормальные показатели
k1, k2, k3, k4, k5 = 54, 35, 750, 250, 36
# Расчет объема инфузии
p1, p2, = 30, 2400,
#Парентеральное питание
d1, d2, d3 = 100, 80, 70
# Номограмма Редфорда
s1, s2, s3 = 120, 150, 200
# Метки
11=Label(root, text=“Label 1”, bg=“khaki3”, bd=0)
12=Label(root, text=“Label 2”, bg=“khaki3”, bd=0)
13=Label(root, text=“Label 3”, bg=“khaki3”, bd=0)
14=Label(root, text=“Label 4”, bg=“khaki3”, bd=0)
stroka = StringVar()
stroka.set(“”)
15=Label(root, textvariable=stroka, bg=“white”, bd=0,
font=“Courier 18 bold”, height=9, width30)
11.pack(side=LEFT, expand=1, fill=BOTH)
12.pack(side=TOP, expand=1, fill=BOTH)
13.pack(side=TOP, expand=1, fill=BOTH)
14.pack(side=TOP, expand=1, fill=BOTH)
15.pack(side=TOP, expand=1, fill=BOTH)
# Кнопки с названиями болезней (внутри метки l1)
b1 = Button(l1, text=“Диагностика заболеваний ЦНС”, font=“Arial 20 bold”,
bg=“Goldenrod2”, activebackground=“Goldenrod1”)
b2 = Button(l1, text=“Диагностика заболеваний дыхательной системы”, font=“Arial 20 bold”,
bg=“Goldenrod2”, activebackground=“Goldenrod1”)
b3 = Button(l1, text=“Диагностика заболеваний сердечно-сосудистой системы”, font=“Arial 20 bold”,
bg=“Goldenrod2”, activebackground=“Goldenrod1”)
b4 = Button(l1, text=“Диагностика заболеваий желудочно-кичшечного тракта”, font=“Arial 20 bold”,
bg=“Goldenrod2”, activebackground=“Goldenrod1”)
b5 = Button(l1, text=“Расчет инфузионной терапии”, font=“Arial 20 bold”,
bg=“Goldenrod2”, activebackground=“Goldenrod1”)
b1.pack(side=TOP, expand=1, fill=BOTH)
b2.pack(side=TOP, expand=1, fill=BOTH)
b3.pack(side=TOP, expand=1, fill=BOTH)
b4.pack(side=TOP, expand=1, fill=BOTH)
b5.pack(side=TOP, expand=1, fill=BOTH)
# Функции выбора диагносов
def diagnos1(event):
global diagnos
diagnos=1
def diagnos2(event):
global diagnos
diagnos=2
def diagnos3(event):
global diagnos
diagnos=3
def diagnos4(event):
global diagnos
diagnos=4
def diagnos5(event):
global diagnos
diagnos=5
# Привязка кнопок диагноса к событиям
b1.bind(“<Button-1>”, diagnos1)
b2.bind(“<Button-1>”, diagnos2)
b3.bind(“<Button-1>”, diagnos3)
b4.bind(“<Button-1>”, diagnos4)
b5.bind(“<Button-1>”, diagnos5)
# Чекбокс для Диагносов
var_c1 = IntVar()
var_c1.set(0)
c1=Checkbutton(12, text=Нейтрофилы“”, font=“Arial 14”
bg=“khaki2”, variable=var_c1,
onvalue=1, offvalue=0)
# Радиокнопки для выбора типа нейтрофила
var_r1 = IntVar()
var_r1.set(p1)
r11=Radiobutton(12, text=“Меньше нормы”, font=“Arial 10”,
bg=“gold”, variable=var_r1, value=p1)
r12=Radiobutton(12, text=“Выше нормы”, font=“Arial 10”
bg=gold, variable=var_r1, value=p2)
c1.pack(side+TOP, expand=1, fill=BOTH)
r11.pack(side=LEFT, expan=1 fill=x)
r12.pack(side=LEFT, expan=1 fill=x)
# Чекбокс для диагноса
var_c2 = IntVar()
var_c2.set(0)
c2 = Checkbutton(13, text=“Монограма Рефорда”, font=Arial 14“,
bg=”khaki2“, variable=var_c2,
onvalue=1, offvalue=0)
# Радиокнопки для выбора диагноса
var_r2=IntVar()
var_r2.set(d1)
r21=Radiobutton(13, text=”Гематокрит“, font=”Arial 10“,
variable=var_r2, value=d1,
bg=”hotpink4“, width=7)
r22=Radiobutton(13, text=”Лимфоциты“, font=Arial 10”,
variable=var_r2, value=d2,
bg=“DarkOrange1”, width=7)
r23=Radiobutton(13, text=“Гломеолорефнит”, font=Arial 10“,
variable=var_r2, value=d3,
bg=”springgreen3“, width=7)
Упаковка виджетов в метку 13
c2.pack(side=TOP, expand=1, fill=BOTH)
r21.pack(side=LEFT, expand=1, fill=X)
r22.pack(side=LEFT, expand=1, fill=X)
r23.pack(side=LEFT, expand=1, fill=X)
# Чекбокс для выбора Диагноса
var_c3= IntVar()
var_c3.set(0)
c3 = Checkbutton(14, text=”Азотемия“, font=”Arial 14“,
bg”khaki2“,variable=var_c3,
onvale=1, offvalue=0)
# Радиокнопки для выбора Диагноса
var_r3= IntVar()
var_r3.set(s1)
r31=Radiobutton(14, text=”Гематурия“, font=”Arial 10“,
variable=var_r3, value=s1, bg=”khaki1, width=7)
r32= Radiobutton(14, text=“Цилиндрурия”, font“Arial 10”,
variable=var_r3, value=s2, bg=“gold2”, width7)
r33= Radiobutton(14, text=“Альбуминурия”, font=“Arial 10”,
variable=var_r3, value=s3, bg=“tomato3”, width=7)
Упаковка виджетов в метку 14
c3.pack(side=TOP, expand=1, fill=BOTH)
r31.pack(side=LEFT, expand=1, fill=X)
r32.pack(side=LEFT, expand=1, fill=X)
r33.pack(side=LEFT, expand=1, fill=X)
# Вывод текущего набора болезней
def show(): # функция не принимает аргументов
s=“”
if diagnos==0:
s=“Диагнос не выбран!”
else
# Создание строки с название диагноса
if diagnos==1: s=“Диагностика заболеваний ЦНС”\n“
if diagnos==1: s=”Диагностика заболеваний дыхательной системы“\n”
if diagnos==1: s=“Диагностика заболеваний сердечно-сосудистой системы\n”
if diagnos==1: s=“Диагностика заболеваий желудочно-кичшечного тракта”\n“
if diagnos==1: s=”Расчет инфузионной терапии“\n”
# Создание строки с название
if var_c1.get()==1:
if var_r1.get()==p1:
s+=“Нейтрофилы меньше нормы \n”
else:
s+=“Нейтрофилы выше нормы\n”
else:
s+=Без нейтрофилов\n“
# Создание строки с название болезни
if var_r2.get()==1:
s+=”Гематокрит\n“
if var_r2.get()==d2:
s+=”Лемфоциты\n“
if var_r2.get()==d3:
s+=”Гломеолорефнит\n:
else:
s+=“Без болезни\n”
# Создание строки названием Диагноса
if var_r3.get()==1
s+=“Гематурия\n”
if var_r3.get()==s2:
s+=“Цилиндрурия\n:
if var_r3.get()==s3:
s+=”Альбуминурия\n“
else:
s+=”Без диагноса\n“
# Кнопка для расчета диагноса
b6=Button(root, text=”Расчитать болезни“,
font=”Arial 24 bold“, bg=”red2“, fg=”white“,
activebacground=”red1“, activeforeground=”white“0
b6.bind(”<Button-1>“, calculator)
b6.pack(side=TOP, expand=1, fill=BOTH)
# Расчет диагноса
def calculator(event):
show() # Сначала выводим информацию о выбраных продуктах
if diagnos ==1: ertrocity=k1
if diagnos ==2: ertrocity=k2
if diagnos ==3: ertrocity=k3
if diagnos ==4: ertrocity=k4
if diagnos ==5: ertrocity+k5
if var_c1.get()==1: # Если Меньше нормы
ertrocity +=var_r1
if var_c2.get()==1: # Если Лимфоциты выбраны
ertrocity +=var_r2.get()
if var_c3.get()==1: # Если Гематурия выбрана
# Добавляем к надписи количество калорий
s=str(stroka.get())
s=s+”\n“+str(ertrocity) + ”Ертороцыты.“
# Нажатие кнопки ”О программе“
b7=Button(root, text=”О программе“, font=”Arial 8“, bg=”khaki3“,
activebacground=”khaki2“)
b7.bind(”<Button->", about)
b7.pack(side=LEFT, expand=1, fill=BOTH)
root.mainloop()
