Код пайтон #12 : Тооны машин - Монгол

Python эх код бүрэн эхээр орууллаа, татаж аваад туршиж , нэмэлт өөрчлөлт оруулаад онлайнд оруулбал бусад хүмүүст хэрэг болох байх даа.
Обьект , функц, хувьсагч, сан -г тус бүрээр тайлбар хийж орууллаа.

* Програм, файл нэр: calculator-mn.py   /notepad дээр кодоо хадгалаад авч болно./ START +R -> notepad -> ENTER/
* Face:     Тооны машин   / share, comment / фэйсбүүк мэдээ хуваалцах
* Үндсэн хуудас:   вэб мэдээ, нэмэлт код
* Find Replace / тусгай тэмдэгтийг арилгах арга/ :   CTRL+F   (хос товч)
  /вэб хуудасаас кодыг татаж авахад (дөрвөлжин) тусгай тэмдэгт мөр болгоны өмнө гарч байгааг арилгах хэрэгтэй/
  /фэйсбүүк дээрээс кодыг татаж авахад пайтон код хэвийн орж ирэх бөгөөд шууд ажиллана/

Girl in a jacket

*********************************************************************************
Жишээ код програмыг ажиллуулах зааварчилгаа:
1. calculator-mn.py   файл шинээр үүсгээд үүндээ текст кодыг хуулж оруулаад хадгална.
2. Програм лого дүрс бүхий эх код дээрээ хулганаар 2 дарж ажиллуулах /calculator-mn.py/
3. Тооны машин ажилллаж эхлэнэ. Програмын нүүр цонх гарч ирнэ, өгөгдөлөө оруулаад тэнцүү товч дарах /25+3*2 =/.

Girl in a jacket
* Python татах:     /суулгах, заавар/
* Кодын талбар: Notepad ++       /суулгах, заавар/
*********************************************************************************
    # системийн бэлэн функц дуудаж оруулав
from tkinter import*
    # шинээр функц үүсгэж зарлав / fCalc / тооны машин
    # функц-д утга дамжуулах 2 хувьсагч / src, side / дэлгэц дээр гарах тоог хэвлэх
    # borderwidth - хүрээний өргөн , bd- өргөний хэмжээ ,bg - өнгө /ногоон/
def fCalc(src, side):
  appObj = Frame(src, borderwidth=6, bd=4,bg = "#158b55")
  appObj.pack(side=side, expand=YES, fill=BOTH)
  return appObj
    # шинээр функц үүсгэж зарлав / button / товч
def button(src, side, text, command=None):
  appObj = Button(src, text=text, command=command)
  appObj.pack(side=side, expand=YES, fill=BOTH)
  return appObj
class app(Frame):
    # Үндсэн програмын гол хэсэг, __init__ эндээс эхэлж прог ажиллаж эхлэнэ
  def __init__(mnTov, root = Tk(), width=380, height=440):
  Frame.__init__(mnTov)
    # дэлгэцэнд гарах тооны текстийн фонт, хэмжээ
  mnTov.option_add("*Font", 'arial 18 bold')
  mnTov.pack(expand=YES, fill=BOTH)
  mnTov.master.title("Монгол тооны машин")
    # таны компьютерийн дэлгэцийн хэмжээг авч байна
    # үндсэн том дэлгэцийн гол координат олох хувьсагч / х_tov, у_tov
  screen_width = root.winfo_screenwidth()
  screen_height = root.winfo_screenheight()
  x_tov = (screen_width/2) - (width/2)
  y_tov = (screen_height/2) - (height/2)
  root.geometry('%dx%d+%d+%d' % (width, height, x_tov, y_tov))
    # дэлгэцийн дээд хэсэг, текст хувьсагч /delgets
    # Entry - тескт бокс обьект систем , StringVar - текст бокс тэмдэгт хувьсагч систем
  delgets = StringVar()
  Entry(mnTov, relief= RIDGE, textvariable=delgets, state=DISABLED, justify='right', bd=22, bg="blue").pack(side=TOP, expand=YES, fill=BOTH)
  clrChar = "Эхлэх"
  button(mnTov, TOP, clrChar, lambda appObj=delgets, i=clrChar: appObj.set(''))
    # давталт шалгах / Товчнууд нэг мөрөнд харгалдаа байгаа тэмдэгтээр хайж олох
  for btnNum in ("789/", "456*", "123-", "0.+"):
    FunctionNum = fCalc(mnTov, TOP)
      # товчнууд дэлгэц дээр зурж байгаа хэсэг / fEquals/ 0123456789 .-+*/
    for fEquals in btnNum:
    button(FunctionNum, LEFT, fEquals, lambda appObj=delgets, i=fEquals: appObj.set(appObj.get() + i))
    EqualsButton = fCalc(mnTov, TOP)
    # тэнцүү товч зурав
  for fEquals in "=":
    if fEquals == "=":
    btnEquals = button(EqualsButton, LEFT, fEquals)
    btnEquals.bind('', lambda e, sMn=mnTov, appObj=delgets: sMn.resultMn(appObj), "+")
    else:
    btnEquals = button(EqualsButton, LEFT, fEquals, lambda appObj=delgets, sMn=" %s "%fEquals: appObj.set(appObj.get()+sMn))
  def resultMn(mnTov, delgets):
    try:
    delgets.set(eval(delgets.get()))
    except:
    delgets.set("UNDEFINED")
if __name__ == '__main__':
  app().mainloop()

# Python code lesson, programming user manual / Пайтон код хичээл, програмчлал зааварчилгаа, kod hicheel, zaavarchilgaa /