Friday, January 27, 2023

Соёмбо зурах

 from turtle import *

bgcolor('blue')

color('yellow')

right(90)


pos = [(-110,0), (60,0)]

for x,y in pos:

    up()

    goto(x,y)

    down()

   

    for i in range(2):

       forward(240)

       left(90)

       forward(50)

       left(90)

  


pos1 = [(-50,-210),(-50,0)]

pos2 = [(50,-210),(0,-240),(-50,-210)]

pos3 = [(50,0),(0,-30),(-50,0)]

for x,y in pos1:

    up()

    goto(x,y)

    down()

    

    if y == -210:

        posz = pos2

        for k,j in posz:

            goto(k,j)

    else:

        posz = pos3

        for k,j in posz:

            goto(k,j)

    


pos4 = ((-50,-40),(-50,-180))

for x,y in pos4:

    up()

    goto(x,y)

    down()

    

    for i in range(2):

       forward(20)

       left(90)

       forward(100)

       left(90)

   

# ᠵᠢᠭᠠᠰᠤ ᠨᠤᠭᠤᠳ

up()

goto(0,-117)

left(90)

down()

circle(23,180)

circle(50,150)


up()

goto(0,-117)

right(155)

down()

circle(29,140)


up()

goto(0,-123)

setheading(180)

down()

circle(23,180)

circle(50,165)


up()

goto(0,-123)

right(163)

down()

circle(29,145)


# ᠵᠢᠭᠠᠰᠤᠨ ᠤ ᠬᠢᠳᠤ ᠨᠤᠭᠤᠳ

up()

goto(0,-103)

setheading(0)

down()

circle(10)

up()

goto(0,-155)

down()

circle(10)

# ᠰᠠᠷᠠᠨ ᠵᠢᠷᠣᠬᠤ

up()

goto(-55,65)

setheading(-90)

down()

circle(55,180)

up()

goto(-55,65)

left(204)

down()

circle(60,131)

#ᠨᠠᠷᠠᠨ ᠵᠢᠷᠤᠬᠤ

up()

goto(0,40)

setheading(0)

down()

circle(40)

# ᠭᠠᠯ ᠵᠢᠷᠤᠬᠤ / ᠰᠠᠭᠤᠷᠢ ᢉᠡᠰᠡᠭ

up()

goto(-25,155)

setheading(-90)

down()

circle(25,180)

circle(15,45)


up()

goto(-22,164)

left(110)

down()

circle(15,45)

up()

goto(-22,164)

left(130)

down()

circle(15,45) #


up()

goto(5,160)

setheading(-90)

down()

circle(5,225)


up()

goto(-13,164)

left(90)

down()

circle(5,225)

circle(50,10) ##


up()

goto(6,173)

left(150)

down()

circle(50,15)

up()

goto(-13,164)

setheading(45)

down()

circle(6,90)


up()

goto(13,170)

setheading(-135)

down()

circle(4,110)

# ᠳᠦᠯᠦ ᠶᠢᠨ ᠵᠡᠭᠦᠨ ᠦᠵᠦᢉᠦᠷ

up()

goto(-11,184)

setheading(-145)

down()

circle(20,40)

up()

goto(-11,184)

setheading(-125)

down()

circle(15,55)


# ᠳᠦᠯᠦ ᠶᠢᠨ ᠪᠠᠷᠠᠭᠤᠨ ᠦᠵᠦᢉᠦᠷ

up()

goto(11,184)

setheading(-40)

down()

circle(-25,55)

up()

goto(11,184)

setheading(-50)

down()

circle(-15,60)


# ᠳᠦᠯᠦ ᠶᠢᠨ ᠦᠵᠦᢉᠦᠷ ᠦᠵᠦᢉᠦᠷ

up()

goto(4,210)

setheading(-135)

down()

circle(30,60)

circle(-20,45)

up()

goto(4,210)

setheading(-120)

down()

circle(30,60)

circle(-20,60)


exitonclick()



Соёмбоны гал зурах

 from turtle import *

coor = [(25,155),(25,158),(24,160),(23,162),(22,164),(21,165),(20,167),(19,169),(18,171),(18,173),(18,175),(17,178),(16,180),(15,181),(14,182),(13,183),(10,185),(12,183),(12,181),(13,179),(13,177),(13,175),(12,172),(11,171),(11,169),(11,167),(12,166),(13,164),(14,163),(15,161),(15,160),(14,158),(13,157),(12,156),(10,156),(9,156),(7,156),(6,158),(5,159),(5,161),(5,162),(5,165),(6,167),(6,169),(8,174),(9,176),(9,178),(9,181),(8,184),(7,187),(5,189),(3,193),(2,194),(1,197),(0,199),(0,202),(1,204),(2,207),(2,208),(4,210),(2,209),(1,208),(-1,207),(-2,204),(-3,202),(-3,200),(-3,198),(-3,195),(-2,193),(-2,190),(-2,188),(-3,186),(-4,184),(-5,182),(-6,180),(-7,178),(-8,175),(-8,173),(-7,170),(-6,169),(-6,166),(-5,164),(-5,160),(-6,157),(-7,156),(-8,156),(-10,156),(-12,156),(-13,156),(-14,157),(-15,159),(-15,161),(-14,163),(-13,165),(-12,166),(-11,167),(-10,169),(-11,171),(-12,175),(-13,177),(-13,180),(-12,182),(-10,185),(-13,184),(-14,182),(-15,181),(-17,179),(-17,177),(-18,174),(-18,171),(-19,168),(-20,166),(-21,164),(-23,162),(-24,160),(-25,158),(-25,155),(-25,152),(-25,150),(-24,147),(-23,145),(-22,143),(-21,141),(-19,139),(-17,137),(-15,135),(-12,134),(-10,132),(-7,132),(-4,131),(0,130),(4,131),(9,132),(12,133),(14,134),(17,137),(19,139),(21,142),(22,144),(23,147),(24,150),(25,155)]

up()

goto(24,155)

hideturtle()

down()

for x,y in coor:

    goto(x,y)


exitonclick()



Wednesday, December 21, 2022

Хэрчмүүдээр зүрх зурах



import turtle

import math

def xt(t):
    return 16*math.sin(t)**3

def yt(t):
    return 13*math.cos(t)-5*\
        math.cos(2*t)-2*\
            math.cos(3*t)-\
                math.cos(4*t)

t = turtle.Turtle()
t.speed(0)
turtle.bgcolor('black')

for i in range(2550):
    t.goto((xt(i)*20, yt(i)*20))
    t.pencolor('red')
    t.goto(0,0)

Sunday, December 11, 2022

Жишээ №2: Өгүүлбэр бичээд, хүрээ татах

 sentence = input("Sentence: ")

screen_width = 80

text_width = len(sentence)
box_width = text_width + 6
left_margin = (screen_width - box_width) // 2
print()
print(' ' * left_margin + '+' + '-' * (box_width - 2) + '+')
print(' ' * left_margin + '|  ' + ' ' * text_width + '  |')
print(' ' * left_margin + '|  ' + sentence + '  |')
print(' ' * left_margin + '|  ' + ' ' * text_width + '  |')
print(' ' * left_margin + '+' + '-' * (box_width - 2) + '+')
print()

Friday, January 7, 2022

Хос тойрог Python Turtle Art

 


import turtle
import colorsys
wn = turtle.Screen()
wn.bgcolor('black')
n = 20
h = 0
turtle.speed(1)
for i in range(30):
    c = colorsys.hsv_to_rgb(h, 1, 0.8)
    h += 1 / n
    turtle.color(c)
    turtle.circle(5*i)
    turtle.circle(-5*i)
    turtle.left(i)
turtle.exitonclick() #зурж дуусаад товших хүртэл дэлгэц хаагдахгүй.


Таван хошуу Python Turtle Art

 


import turtle
t = turtle.Turtle()
s = turtle.Screen()
s.bgcolor('black')
t.speed(10)
col = ['red', 'yellow', 'green', 'skyblue', 'blue', 'pink', 'white']
c = 0
t.left(36)
for i in range(70):
    t.forward(i*10)
    t.left(144)
    t.color(col[c])
    if c == 6:
        c = 0
    else:
        c += 1


Turtle Art 7 өнгийн спираль

 


from turtle import *
col = ['red','orange','yellow','green','cyan','blue','lightpink']
bgcolor('black')
speed(0)
for i in range(200):
    pencolor(col[i % 7]) # col лист дэх 7 өнгийг дараалан сонгоно.
    width(i/100+1)
    forward(i)
    left(50) # 360/7=51.4 гэж гарч байгааг 50 гэж оруулбал хазгай тойрно.

hideturtle()

done()


Wednesday, January 5, 2022

Turtle дээр санамсаргүй зүгт, санамсаргүй зайд, санамсаргүй өнгөөр цацраг зурах

 # санамсаргүй зүгт, санамсаргүй зайд, санамсаргүй өнгөөр цацраг зурах


import turtle
import random
wn = turtle.Screen()
wn.bgcolor('black')
col = ['red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'lightpink']

t = turtle.Turtle()
t.pensize(1)
for i in range(100):
    col_num = random.randint(0,6)
    angle = random.randint(0,45)
    dis = random.randint(50,200)
    t.color(col[col_num])
    t.right(angle)
    t.forward(dis)
    t.backward(dis)


Фрактал цасан ширхэг зурах код Turtle Art дээр

 # Turtle Art дээр Фрактал цасан ширхэг зурах код


import turtle
def star(turtle, n,r):
    for k in range(0,n):
        turtle.pendown()
        turtle.forward(r)
        turtle.penup()
        turtle.backward(r)
        turtle.left(360/n)
 
def recursive_star(turtle, n, r, depth, f):
    if depth == 0:
        star(turtle, n, f*4)
    else:
        for k in range(0,n):
            turtle.pendown()
            turtle.forward(r)
            recursive_star(turtle, n, f*r, depth - 1,f)
            turtle.penup()
            turtle.backward(r)
            turtle.left(360/n)
 
turtle.speed("fastest")
s = turtle.Screen()
s.bgcolor('white')
recursive_star(turtle, 5 , 150, 4, 0.4)



Корона вирусийн зураг Turtle Art дээр

 # Корона вирусийн зураг


from turtle import *
speed(10)
color('cyan')
bgcolor('black')
up()
goto(250,50)
down()
b = 200
while b > 0:
    left(b)
    forward(b*3)
    b -= 1


Шинэ жилийн сүлд мод зурав

 # шинэ жилийн сүлд мод


count = 1
width = 20
for i in range(10):
    print(('*'*count).center(width))
    count += 2
print(('| |').center(width))



Monday, January 3, 2022

Turtle Art дээр Тойрсон Таван хошуу зурав

 


# pip install turtle

import turtle
import colorsys

t = turtle.Turtle()
s = turtle.Screen()
s.bgcolor('black')
t.speed(0)
n = 36
h = 0
for i in range(38):
    c = colorsys.hsv_to_rgb(h, 1, 0.8)
    h += 1/n
    t.color(c)
    t.left(10)
    for j in range(5):
        t.forward(200)
        t.left(144)



Turtle Art Зүрхний цахилгаан бичлэгийг дуурайн зурав

 Python орчинд Turtle Art зураг зурах хэд хэдэн жишээг энд оруулья. 

Эхлээд консол дээрээ дараах команд бичиж Turtle Art сулгана.

C:> pip install turtle

Зүрхний цахилгаан бичлэгийн жишээ.


from turtle import *

up()
goto(-350,0)
down()

for i in range(0,5):
    forward(20)
    left(80)
    forward(20)
    right(160)
    forward(20)
    left(80)
    forward(20)
    right(80)
    forward(20)
    left(160)
    forward(100)
    right(160)
    forward(180)
    left(160)
    forward(100)
    right(80)
    forward(20)



Saturday, December 11, 2021

Flask вэбийн жишээ

 


# pip install flask
# flask вэб ажиллуулах

from flask import Flask, render_template, request, redirect
import json
import random
import string

def get_random_string(length=3):
    letters = string.ascii_lowercase
    result_str = ''.join(random.choice(letters) for i in range(length))
    return result_str

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def home():
    if request.method == 'POST':
        student_name = request.form['lastName']
        print(f'student_name = {student_name}')
        Student_Class = request.form['Class']
        print(f'Student_Class = {Student_Class}')
        student_dob = request.form['Student_DoB']
        print(f'Student_DoB = {student_dob}')
        grade = request.form['Grade']
        print(f'Student_Grade = {grade}')
        # суралцагч утга авах хэсэг
        student = {
            'index': get_random_string(),
            'lastName': student_name,
            'Class': Student_Class,
            'Student_Dob': student_dob,
            'Grade': grade
        }
        # print('student =', student)
        students = read_info()['Students']
        # print('students =', students)
        students.append(student)
        # print('students =', students)

        teacher_fname = request.form['firstname']
        print(f'teacher_fname = {teacher_fname}')
        teacher_lname = request.form['lastname']
        print(f'teacher_lname = {teacher_lname}')
        teacher_dob = request.form['teacher_DoB']
        print(f'teacher_dob = {teacher_dob}')
        degree = request.form['Degree']
        print(f'degree = {degree}')
        experience = request.form['Experience']
        print(f'experience = {experience}')
        # багшийн мэдээлэл авах хэсэг
        teacher = {
            'index': get_random_string(),
            'firstname': teacher_fname,
            'lastname': teacher_lname,
            'teacher_DoB': teacher_dob,
            'Degree': degree,
            'Experience': experience
        }
        # print('teacher =', teacher)
        teachers = read_info()['Teachers']
        # print('teachers =', teachers)
        teachers.append(teacher)
        # print('teachers =', teachers)    
       
        create_enrol(students, teachers)
        return redirect('/')
    else:
        return render_template('index.html')

def create_enrol(student_info, teacher_info):
    info = {
        'Students': student_info,
        'Teachers': teacher_info
    }    # тусдаа хоёр утгуудаа нэгтгэж байгаа хэсэг тэгээд нэг файлд Датабаз хийнэ

    with open('db.txt', 'w') as db:
        json.dump({'Information': info}, db)

def read_info():
    with open('db.txt') as db:
        data = json.load(db)
        # print(f'data = {data}')
        info_data = data['Information']
        return info_data

@app.route('/list', methods=['GET'])
def info_list():
    return render_template('list.html', information_list = read_info())

@app.route('/update/<index>', methods=['GET', 'POST'])
def info_update(index):
    print('before index = ', index)
    stu = get_info(index)
    print('before info = ', stu)
   
    if stu is None:
        return redirect('/not-found')

    if request.method == 'POST':
        print("request.form['lastName'] =", request.form['lastName'])
        print("request.form['Class'] =", request.form['Class'])
        print("request.form['Student_Dob'] =", request.form['Student_Dob'])      
        print("request.form['Grade'] =", request.form['Grade'])
        stu['lastName'] = request.form['lastName']
        stu['Class'] = request.form['Class']
        stu['Student_Dob'] = request.form['Student_Dob']
        stu['Grade'] = request.form['Grade']
        update_student(stu)
        return redirect('/list')
    else:
        return render_template('update.html', stu = stu)

@app.route('/update_t/<index>', methods=['GET', 'POST'])
def info_update_t(index):
    print('before index = ', index)
    teacher = get_info_t(index)
    print('before info = ', teacher)

    if teacher is None:
        return redirect('/not-found')

    if request.method == 'POST':
        print("request.form['lastname'] =", request.form['lastname'])
        print("request.form['firstname'] =", request.form['firstname'])
        print("request.form['teacher_DoB'] =", request.form['teacher_DoB'])
        print("request.form['Degree'] =", request.form['Degree'])
        print("request.form['lastname'] =", request.form['Experience'])
        teacher['lastname'] = request.form['lastname']
        teacher['firstname'] = request.form['firstname']
        teacher['teacher_DoB'] = request.form['teacher_DoB']
        teacher['Degree'] = request.form['Degree']
        teacher['Experience'] = request.form['Experience']
        update_teachers(teacher)
        return redirect('/list')
    else:
        return render_template('update_t.html', teacher = teacher)

def get_info(get_par):
    info_datas = read_info()
    students = info_datas['Students']
    index_s = []
    for item in students:
        if item['index'] == get_par:
            index_s.append(item)
   
    if len(index_s) > 0:
        return index_s[0]

def get_info_t(get_par):
    info_datas = read_info()
    teachers = info_datas['Teachers']
    index_s = []
    for item in teachers:
        if item['index'] == get_par:
            index_s.append(item)

    if len(index_s) > 0:
        return index_s[0]

def update_student(up_Stu):
    students = read_info()['Students']
    teachers = read_info()['Teachers']
    for item in students:
        if item['index'] == up_Stu['index']:
            item['lastName'] = up_Stu['lastName']
            item['Student_Dob'] = up_Stu['Student_Dob']
            item['Class'] = up_Stu['Class']
            item['Grade'] = up_Stu['Grade']
            break
    info = {
        'Students': students,
        'Teachers': teachers
    }
    with open('db.txt', 'w') as db:
        json.dump({'Information':info}, db)

def update_teachers(up_Teacher):
    students = read_info()['Students']
    teachers = read_info()['Teachers']
    for item in teachers:
        if item['index'] == up_Teacher['index']:
            item['firstname'] = up_Teacher['firstname']
            item['lastname'] = up_Teacher['lastname']
            item['teacher_DoB'] = up_Teacher['teacher_DoB']
            item['Degree'] = up_Teacher['Degree']
            item['Experience'] = up_Teacher['Experience']
            break
    info = {
        'Students': students,
        'Teachers': teachers
    }
    with open('db.txt', 'w') as db:
        json.dump({'Information':info}, db)

@app.route('/list/<index>', methods=['GET', 'POST']) # устгах хэсэг
def delete_info(index):
    info_datas = read_info()
    students = info_datas['Students']
    teachers = info_datas['Teachers']
   
    if index is None:
        return redirect('/not-found')

    # if request.method == 'POST':
    index_s = []
    for item in students:
        index_s.append(item['index'])
    index_t = []
    for item in teachers:
        index_t.append(item['index'])
    print(index_s)
    print(index_t)

    if index in index_s:
        student_index = index_s.index(index)
        students.pop(student_index)
    if index in index_t:
        teacher_index = index_t.index(index)
        teachers.pop(teacher_index)
    info = {
        'Students': students,
        'Teachers': teachers
    }
    with open('db.txt', 'w') as db:
        json.dump({'Information':info}, db)    
        return redirect('/list')
   

@app.route('/not-found')
def not_found():
    return 'Хоосон байна, буцна уу!!!'  

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=8080)

# тус flask код ажиллуулахын тулд хэд хэдэн файлийн систем байх болно.
#Тиймээс уг файлуудыг энд зип файлаар оруулья. Энд дарж татаж авна уу.

Excel файлийн нүднүүдэд утга оруулах


# consol дээр дараах код бичиж excel файлтай ажиллах боломжтой болно
# pip install openpyxl
# sample1.xlsx файл үүсгэж, уг файлаа хаасан байгаараай.


from openpyxl import Workbook
import random

book = Workbook()
sheet1 = book.active
num = 1000
n = 4
m = 1
for n1 in range(num):
    var02 = random.randint(0, 10)
    if m > 20:
        m = 1
        n += 1
    sheet1.cell(row=m, column=n, value=var02)
    m += 1

sheet1.cell(row=4, column=2, value="Hello World!")
sheet1['A2'] = 43
sheet1['B2'] = "Hi, Python"

book.save("sample1.xlsx")

# дээрх кодыг excel_write.py гэсэн нэрээр хадгалаад
# consol дээр
# d:/>python excel_write.py
# гэж ажлуулаад дараа нь sample1.xlsx файлаа нээж үзвэл дараах байдалтай харагдах болно.



Excel файлаас утга авах


#!/usr/bin/env python
# consol дээр дараах код бичиж excel файлтай ажиллах боломжтой болно
# pip install openpyxl
# sample.xlsx файл үүсгэж B1, B2, B3 нүдэнд юм бичсэн байх хэрэгтэй.

import openpyxl

book = openpyxl.load_workbook('sample.xlsx')

sheet1 = book.active

a1 = sheet1['B1'] #sample.xlsx файл доторх B1 нүдний утгыг авна
a2 = sheet1['B2'] #sample.xlsx файл доторх B2 нүдний утгыг авна
a3 = sheet1.cell(row=3, column=2) #B3 нүдний утгыг авна

print(a1.value)
print(a2.value)
print(a3.value)

Tuesday, July 20, 2021

tkinter Тооны машин хийх код

# Тооны машин хийх код 

# https://www.studytonight.com/tkinter/calculator-application-using-tkinter

from tkinter import *

win = Tk() # Үндсэн цонхыг үүсгэнэ
win.geometry("312x324")  # Цонхныхоо хэмжээг зааж өгнө 
win.resizable(00)  # Уг цонхны хэмжээ өөрчлөгдөхөөс сэргийлнэ
win.title("Тооны машин")

################### Функц эхлэх хэсэг ####################
# 'btn_click' Функц : 
# Энэ функц нь тооны машинд тоог оруулах бүрд  
# тасралтгүй шинэчлэгдэх юм 

def btn_click(item):
    global expression
    expression = expression + str(item)
    input_text.set(expression)

# 'bt_clear' Функц : Энэ нь оролтын талбар дахь 
# илэрхийллийг цэвэрлэх юм

def bt_clear(): 
    global expression 
    expression = "" 
    input_text.set("")
 
# 'bt_equal': Энэ метод нь оролтын 
# талбар дахь илэрхийлэлийг тооцоолно
 
def bt_equal():
    global expression
    result = str(eval(expression)) # 'eval': илэрхийллийн мөрийг үнэлэх функц юм.
    input_text.set(result)
    expression = ""
 
expression = ""
 
# 'StringVar()' : Оролтын талбар дахь утгыг авч хэрэглэх юм.
input_text = StringVar()
 
# Оролтын талбарын фрэйм үүсгэх хэсэг
input_frame = Frame(win, width=312, height=50, bd=0, highlightbackground="black", highlightcolor="black", highlightthickness=2)
input_frame.pack(side=TOP)
 
#Оролтын талбарын 'Frame' дотор талын тохиргоог хийх хэсэг
input_field = Entry(input_frame, font=('arial'18'bold'), textvariable=input_text, width=50, bg="#eee", bd=0, justify=RIGHT)
input_field.grid(row=0, column=0)
input_field.pack(ipady=10# 'ipady' нь оролтын талбарын дотор талаас өндрийн зай авах хэмжээг заана
 
#'Input_frame' доор байрлах товчлууруудын бусад 'Frame'-үүдээ бүтээе.
btns_frame = Frame(win, width=312, height=272.5, bg="grey")
btns_frame.pack()
 
# Эхний мөр
clear = Button(btns_frame, text = "C", fg = "black", width = 32, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: bt_clear()).grid(row = 0, column = 0, columnspan = 3, padx = 1, pady = 1)
divide = Button(btns_frame, text = "/", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("/")).grid(row = 0, column = 3, padx = 1, pady = 1)
 
# Хоёр дахь мөр
seven = Button(btns_frame, text = "7", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(7)).grid(row = 1, column = 0, padx = 1, pady = 1)
eight = Button(btns_frame, text = "8", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(8)).grid(row = 1, column = 1, padx = 1, pady = 1)
nine = Button(btns_frame, text = "9", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(9)).grid(row = 1, column = 2, padx = 1, pady = 1)
multiply = Button(btns_frame, text = "*", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("*")).grid(row = 1, column = 3, padx = 1, pady = 1)
 
# Гурав дахь мөр
four = Button(btns_frame, text = "4", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(4)).grid(row = 2, column = 0, padx = 1, pady = 1)
five = Button(btns_frame, text = "5", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(5)).grid(row = 2, column = 1, padx = 1, pady = 1)
six = Button(btns_frame, text = "6", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(6)).grid(row = 2, column = 2, padx = 1, pady = 1)
minus = Button(btns_frame, text = "-", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("-")).grid(row = 2, column = 3, padx = 1, pady = 1)
 
# Дөрөв дэх мөр
one = Button(btns_frame, text = "1", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(1)).grid(row = 3, column = 0, padx = 1, pady = 1)
two = Button(btns_frame, text = "2", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(2)).grid(row = 3, column = 1, padx = 1, pady = 1)
three = Button(btns_frame, text = "3", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(3)).grid(row = 3, column = 2, padx = 1, pady = 1)
plus = Button(btns_frame, text = "+", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("+")).grid(row = 3, column = 3, padx = 1, pady = 1)
 
# Дөрөв дэх мөр
zero = Button(btns_frame, text = "0", fg = "black", width = 21, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(0)).grid(row = 4, column = 0, columnspan = 2, padx = 1, pady = 1)
point = Button(btns_frame, text = ".", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click(".")).grid(row = 4, column = 2, padx = 1, pady = 1)
equals = Button(btns_frame, text = "=", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: bt_equal()).grid(row = 4, column = 3, padx = 1, pady = 1)

win.mainloop()



Tkinter, tk интерфэйс буюу Цонхны хэлбэрийн график горимд программчилна

Tkinter багц ("Tk interface") нь Tk GUI хэрэгслийн стандарт Python интерфэйс юм. Tk ба tkinter зэрэг нь Unix платформууд, мөн Windows системүүд дээр цонх хэлбэрийн график горимд программ бичихэд зориулагдана. (Tk нь Python-ийн хэсэг биш бөгөөд үүнийг ActiveState дээр хадгалдаг.)

CMD эсвэл Терминал орчинд командын мөрөөс "python -m tkinter" гэж бичин ажиллуулаж, энгийн Tk интерфэйсийг харуулсан цонхыг нээж болно. Ингэснээр tkinter нь компьютерт зөв суурилагдсан эсэхийг шалгана, ингэснээр Tcl / Tk-ийн аль хувилбарыг суулгасан болохыг харуулах юм.

Үүний энгийн "Сайн уу, Ертөнцөө" гэсэн үг бичих кодыг үзүүлье.


import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Сайн уу, Ертөнцөө\n(энд дар)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.quit = tk.Button(self, text="ГАРАХ", fg="red",
                              command=self.master.destroy)
        self.quit.pack(side="bottom")

    def say_hi(self):
        print("Мэнд, үр дүнтэй байна!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()