main.pyw 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from tkinter import *
  2. import tkinter as tk
  3. import chem_module as ch
  4. element_name = ['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds']
  5. element_ar = [1, 4, 7, 9, 11, 12, 14, 16, 19, 20, 23, 24, 27, 28, 31, 32, 35.5, 40, 39, 40, 45, 48, 51, 52, 55, 56, 59, 59, 64, 65, 70, 73, 75, 79, 80, 84, 85, 88, 89, 91, 93, 96, 99, 101, 103, 106, 108, 112, 115, 119, 122, 128, 127, 131, 133, 137, 139, 140, 141, 144, 145, 150, 152, 157, 159, 162.5, 165, 167, 169, 173, 175, 178, 181, 184, 186, 190, 192, 195, 197, 201, 204, 207, 209, 209, 210, 222, 223, 226, 227, 232, 231, 238, 237, 244, 243, 247, 247, 251, 254, 257, 258, 259, 260, 261, 262, 263, 262, 265, 266, 269]
  6. window = tk.Tk()
  7. window.title("PyChem")
  8. def chem():
  9. num = int(txtnum.get())
  10. name = element_name[num - 1]
  11. N = element_ar[num] - num
  12. group = ch.group_det(num)
  13. period = ch.period_det(num)
  14. row = ch.row_det(num)
  15. e_formula = ch.e_formula(group, period, row, num)
  16. data = tk.Toplevel(window)
  17. data.title("Данные о элементе " + name)
  18. lbl_name1 = Label(data, text="Имя элемента: ")
  19. lbl_name2 = Label(data, text=name)
  20. lbl_e1 = Label(data, text="Количество электронов: ")
  21. lbl_e2 = Label(data, text=num)
  22. lbl_p1 = Label(data, text="Количество протонов: ")
  23. lbl_p2 = Label(data, text=num)
  24. lbl_ar1 = Label(data, text="Относительная атомная масса: ")
  25. lbl_ar2 = Label(data, text=element_ar[num - 1])
  26. lbl_n1 = Label(data, text="Количество нейтронов: ")
  27. lbl_n2 = Label(data, text=N)
  28. lbl_group1 = Label(data, text="Номер группы: ")
  29. lbl_group2 = Label(data, text=group)
  30. lbl_period1 = Label(data, text="Номер периода: ")
  31. lbl_period2 = Label(data, text=period)
  32. lbl_e_formula1 = Label(data, text="Электронная формула: ")
  33. lbl_e_formula2 = Label(data, text=e_formula)
  34. lbl_name1.grid(column=0,row=0)
  35. lbl_name2.grid(column=1,row=0)
  36. lbl_e1.grid(column=0,row=1)
  37. lbl_e2.grid(column=1,row=1)
  38. lbl_p1.grid(column=0,row=2)
  39. lbl_p2.grid(column=1,row=2)
  40. lbl_n1.grid(column=0,row=3)
  41. lbl_n2.grid(column=1,row=3)
  42. lbl_ar2.grid(column=1,row=4)
  43. lbl_ar1.grid(column=0,row=4)
  44. lbl_group1.grid(column=0,row=5)
  45. lbl_group2.grid(column=1,row=5)
  46. lbl_period1.grid(column=0,row=6)
  47. lbl_period2.grid(column=1,row=6)
  48. lbl_e_formula1.grid(column=0,row=7)
  49. lbl_e_formula2.grid(column=1,row=7)
  50. lblnum = Label(text="Введите номер элемента: ")
  51. txtnum = Entry(width=5)
  52. btn = Button(text="Найти", width=15, command=chem)
  53. lblnum.grid(column=0,row=0)
  54. txtnum.grid(column=1,row=0)
  55. btn.grid(columnspan=2,row=1)
  56. window.mainloop()