import tkinter as tk
class Form(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.master = root
self.build()
def build(self):
self.canv = tk.Canvas(self, width = 640, height=480)
self.canv.pack()
self._draw()
def _draw(self):
s_x = 10; s_y = 370;
r = 5
for itrtn in range(30):
self.canv.create_oval(s_x - r, s_y - r, s_x + r, s_y + r, outline="blue", width=2)
s_x += 10; s_y -= 5; r += 5;
if __name__ == '__main__':
root = tk.Tk()
root.title('test')
root.geometry('640x480')
form = Form(root)
form.pack()
root.mainloop()
Объяснение:
Рисует примерно то же самое. Логика отрисовки кругов описана в методе Form._draw. Координаты рисования эллипса для метода tkinter.Canvas.create_oval задаются по такой логике: Верхний левый угол (х, у), нижний правый угол (х, у) прямоугольника, в который помещён эллипс
import tkinter as tk
class Form(tk.Frame):
def __init__(self, root):
super().__init__(root)
root.title('graphics')
root.resizable(False, False)
root.geometry('640x480')
self.pack()
self.master = root
self.build()
root.mainloop()
def build(self):
tk.Button(text = 'small', command = lambda:self.master.geometry('320x240')).place(x = 10, y =10)
tk.Button(text = 'medium', command = lambda: self.master.geometry('640x480')).place(x = 10, y =40)
tk.Button(text = 'large', command = lambda: self.master.geometry('1280x720')).place(x=10,y=70)
Form(tk.Tk())
Использована встроенная библиотека tkinter
var a: array[1..N] of integer;
sum, i: integer;
begin
sum := 0;
a[ 1 ] := 1;
for i := 2 to N do begin
a[ i ] := a[ i - 1 ] + 4;
sum := a[ i ] + sum;
end;
for i := 1 to N do
writeln('A[ ', i, ' ]: ', a[ i ]);
writeln;
writeln('Сумма элементов массива: ', sum);
writeln('Значения 10, 20, 30, 40 элементов, стоящих в нечетных позициях: ' );
writeln('A[ 13 ] = ', A[13],', A[ 25 ] = ', A[25], ', A[ 37 ] = ', A[37], ', A[ 49 ] = ', A[49]);
end.