14 Tkinter және itertools модульдері
Жоспар
Tkinter модулі
itertools модулі
Бекіту мысалдары
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 итератордан кортеж.
Достарыңызбен бөлісу: |