Білім беру бағдарламасының атауы мен шифры 6В01503 Информатика Пән циклы атауы және коды


Tkinter және itertools модульдері



бет12/17
Дата09.06.2023
өлшемі114,76 Kb.
#99922
түріБілім беру бағдарламасы
1   ...   9   10   11   12   13   14   15   16   17
14 Tkinter және itertools модульдері
Жоспар

  1. Tkinter модулі

  2. itertools модулі

  3. Бекіту мысалдары

Tkinter – Тк кітапханасымен жұмыс істейтін Pythonға арналған пакет. Бұл кітапханада графиктік интерфейс құруға арналған компоненттер бар. (graphical user interface – GUI), Tcl программалау тілінде жазылған. GUI – дегеніміз терезелер, кнопкалар, тексттік өрістер, радиокнопкалар, айырғыш кнопкалар, тізімдер т.б., Бұл элементтер арқылы программа басқарылады және виджеттер деп аталынады. (widgets).
Кнопкалар немесе басқа элементтер оқиғалары құрылады. Негізгі терезені, енгізу және нәтижені шығару өрістерін анықтау, кнопкалар оқиғасын құру ережелері төмендегі мысалдарда келтірілген.
Мысал1. Негізгі терезені анықтау программасы:
import tkinter
WIDTH = 540
HEIGHT = 480
BG_COL
OR = 'white'
root = tkinter.Tk()
root.title(“1 ойын")
canvas = tkinter.Canvas(root, width=WIDTH, height=HEIGHT, bg=BG_COLOR)
canvas.pack()

Мысал2. Үш бұрыштың қабырғалары a,b,c берілген. Герон формуласы бойынша ауданын табыңыз және программаның графиктік интерфейсін құрыңыз.


Коды:

import math


from tkinter import *
class Block:
def __init__(self, master):
self.a_lab = Label(master, text="a=" )
self.a_lab.grid(row =1,column=1
self.a = Entry(master, width = 4, bg='lightblue')
self.a.grid(row=1,column=2, padx=(10,0))
self.b_lab = Label(master, text="b=")
self.b_lab.grid(row=2,column=1)
self.b=Entry(master, width = 4, bg='lightblue')
self.b.grid(row=2,column=2,padx=(10,0))
self.c_lab = Label(master, text ="c=")
self.c_lab.grid(row=3, column=1)
self.c = Entry(master, width = 4, bg='lightblue')
self.c.grid(row=3, column=2,padx=(10,0))
self.l = Label(master, bg="blue",fg='white',width=10, height=4)
self.l.grid(row=6, column=2, )
self.runbut = Button(master, text='RUN!')
self.runbut.grid(row = 2, column=5,padx=(10,0))
def setFunc1(self, func):
self.runbut['command'] = eval('self.' + func)
def geron( self):
a = int(self.a.get())
b = int(self.b.get())
c = int(self.c.get())
p = (a+b+c)/2
S = math.sqrt(p*(p-a)*(p-b)*(p-c))
self.l['text'] =S
#main
root = Tk() root.title("Geron")
root.geometry('200x200')
first_block = Block(root)
first_block.setFunc1('geron) root.mainloop()
Kомбинаторика элементтері: орналастыру, алмастыру, терулер.

AkN = N (N - 1) (N - 2)...(N (k - 1))


PN=ANN* =1*2*3*...*N = N!.
Комбинаторика элементтеріне есептер шығаруға Python программалау тілінің itertools модулі қолданылады.
itertools.count(start=0, step=1)– бірінші мүшесі start=0 және қадамы , step шексіз арифметикалық прогрессия;
itertools.cycle(iterable) –тізбектегі қайталанған элементтерді бір рет қана қайтарады;
itertools. repeat(elem, n=Inf) – elem – n – рет қайталанады;
itertools. accumulate(iterable) - қосындыны есептейді;
accumulate([1,2,3,4,5]) 1 3 6 10 15
itertools.chain(*iterables)- қайталау біткенше әр итератордан бір-бірден қайтарады;
itertools.combinations(iterable, [r]) - r ұзындықты қайталанбайтын элементтен тұратын теру;
combinations(‘ABCD’,2)  AB AC AD BC BD CD
itertools.combinations_with_replacement(iterable, r) - r ұзындықты қайталанатын элементтен тұратын теру;
combinations_with_replacement('ABCD', 2) --> AA AB AC AD BB BC BD CC CD DD
itertools.islice(iterable[, start], stop[, step]) - қиюдан тұратын итератор;
itertools.permutations(iterable, r=n) - r ұзындықты алмастыру;
itertools.product(*iterables, repeat=1) - іштестірілген цикл аналогы;
product(‘ABCD’,’xy’)  Ax Ay Bx By Cx Cy Dx Dy
itertools.tee(iterable, n=2) - n итератордан кортеж.




Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   17




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет