Главная / Программирование /
Язык программирования Python / Тест 12
Язык программирования Python - тест 12
Упражнение 1:
Номер 1
Какой класс Tkinter
соответствует виджету для поля ввода?
Ответ:
 (1) Label
 
 (2) Text
 
 (3) Frame
 
 (4) Entry
 
Номер 2
Какой класс Tkinter
соответствует виджету для надписи?
Ответ:
 (1) Label
 
 (2) Text
 
 (3) Frame
 
 (4) Entry
 
Номер 3
Какой класс Tkinter
соответствует виджету для вывода графических примитивов?
Ответ:
 (1) Label
 
 (2) Text
 
 (3) Frame
 
 (4) Canvas
 
Номер 4
Какой класс Tkinter
соответствует кнопке для представления одного из альтернативных значений?
Ответ:
 (1) Button
 
 (2) Checkbutton
 
 (3) Menubutton
 
 (4) Radiobutton
 
Номер 5
Какой класс Tkinter
соответствует кнопке для представления многострочного текста (без возможности редактирования)?
Ответ:
 (1) Message
 
 (2) Label
 
 (3) Listbox
 
Упражнение 2:
Номер 1
Какой шаблон можно использовать для события, при котором клавиша F5 нажимается при нажатой клавише Shift?
Ответ:
 (1) <ButtonPress-Shift-F5>
 
 (2) <Shift-F5>
 
 (3) <Shift_L-F5>
и <Shift_R-F5>
 
 (4) <F15>
 
Номер 2
Какой шаблон можно использовать для события, при котором клавиша F5 нажимается при нажатой правой кнопке мыши?
Ответ:
 (1) <ButtonPress-F5>
 
 (2) <B-F5>
 
 (3) <B3-F5>
 
 (4) <Button3-F5>
 
Номер 3
Какой шаблон события можно использовать для перехвата нажатия клавиши пробел?
Ответ:
 (1) < >
 
 (2) <space>
 
 (3) <KeyPress-space>
 
 (4) <ButtonPress-space>
 
Номер 4
Какой шаблон можно использовать для события двойного щелчка левой кнопки мыши?
Ответ:
 (1) <B1-B1>
 
 (2) <Double-Button-1>
 
 (3) <Double-B1>
 
 (4) <Double-1>
 
Номер 5
Какой шаблон можно использовать для события — тройного щелчка правой кнопкой мыши?
Ответ:
 (1) <B-3>
 
 (2) <Triple-B1>
 
 (3) <Triple-B2>
 
 (4) <Triple-B3>
 
Упражнение 3:
Номер 1
Какой код порождает следующее расположение кнопок?
Ответ:
 (1) b1.pack(side=BOTTOM); b2.pack(side=BOTTOM) 
 (2) b1.pack(side=TOP); b2.pack(side=BOTTOM) 
 (3) b2.pack(side=BOTTOM); b1.pack(side=BOTTOM) 
 (4) b1.pack(side=BOTTOM); b2.pack(side=TOP) 
Номер 2
Какой код порождает следующее расположение кнопок?
Ответ:
 (1) b1.pack(side=BOTTOM); b2.pack(side=BOTTOM) 
 (2) b1.pack(side=TOP); b2.pack(side=BOTTOM) 
 (3) b2.pack(side=BOTTOM); b1.pack(side=BOTTOM) 
 (4) b1.pack(side=BOTTOM); b2.pack(side=TOP) 
Номер 3
Какой код порождает следующее расположение кнопок?
# 1
b1.grid(row=0, column=0, rowspan=2)
b2.grid(row=0, column=1)
b3.grid(row=1, column=1)
# 2
b1.grid(row=0, column=0, columnspan=2)
b2.grid(row=1, column=0)
b3.grid(row=1, column=1)
# 3
b1.grid(row=1, column=1, rowspan=2)
b2.grid(row=1, column=0)
b3.grid(row=0, column=0)
# 4
b1.grid(row=1, column=1, columnspan=2)
b2.grid(row=0, column=1)
b3.grid(row=0, column=0)
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Номер 4
Какой код порождает следующее расположение кнопок?
# 1
b1.grid(row=0, column=0, rowspan=2)
b2.grid(row=0, column=1)
b3.grid(row=1, column=1)
# 2
b1.grid(row=0, column=0, columnspan=2)
b2.grid(row=1, column=0)
b3.grid(row=1, column=1)
# 3
b1.grid(row=1, column=1, rowspan=2)
b2.grid(row=1, column=0)
b3.grid(row=0, column=0)
# 4
b1.grid(row=1, column=1, columnspan=2)
b2.grid(row=0, column=1)
b3.grid(row=0, column=0)
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Номер 5
Какой код порождает следующее расположение кнопок?
# 1
b1.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SE)
b2.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NE)
b3.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SW)
b4.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NW)
# 2
b1.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SE)
b2.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NE)
b3.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SW)
b4.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NW)
# 3
b1.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NW)
b2.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SW)
b3.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=NE)
b4.place(relx=0.2, rely=0.2, relwidth=0.4, relheight=0.4, anchor=SE)
# 4
b1.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NW)
b2.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SW)
b3.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=NE)
b4.place(relx=0.5, rely=0.5, relwidth=0.4, relheight=0.4, anchor=SE)
Ответ:
 (1) 1 
 (2) 2 
 (3) 3 
 (4) 4 
Упражнение 4:
Номер 1
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены?
from Tkinter import *
from ScrolledText import ScrolledText
def transl():
txt = t1.get("1.0", END).replace(e1.get(), e2.get())
t2.delete("1.0", END)
t2.insert(END, txt)
tk = Tk()
f = Frame(tk)
e1 = Entry(f, background="White", width=32)
e1.pack(side=LEFT)
b = Button(f, text=">>", command=transl)
b.pack(side=LEFT)
e2 = Entry(f, background="White", width=32)
e2.pack(side=LEFT)
f.grid(row=0, column=0, columnspan=2)
t1 = ScrolledText(tk, background="White", width=40)
t1.grid(row=1, column=0)
t2 = ScrolledText(tk, background="White", width=40)
t2.grid(row=1, column=1)
tk.mainloop()
Ответ:
 (1) функция transl()
должна иметь аргумент 
 (2) виджет f
должен занимать три ячейки, а не две (в нем кнопка и две полоски ввода) 
 (3) e1.get()
и e2.get()
должны быть e1.get("1.0", END)
и e2.get("1.0", END)
соответственно 
 (4) ошибок нет 
Номер 2
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены?
from Tkinter import *
from ScrolledText import ScrolledText
def transl():
txt = t1.get("1.0", END).replace(e1.get(), e2.get())
t2.delete("1.0", END)
t2.insert(END, txt)
tk = Tk()
f = Frame(tk)
e1 = Entry(f, background="White", width=32)
e1.pack(side=LEFT)
b = Button(f, text=">>", command=transl)
b.pack(side=LEFT)
e2 = Entry(f, background="White", width=32)
e2.pack(side=LEFT)
f.grid(row=0, column=0, columnspan=2)
t1 = ScrolledText(tk, background="White", width=40)
t1.grid(row=1, column=0)
t2 = ScrolledText(tk, background="White", width=40)
t2.grid(row=1, column=1)
Ответ:
 (1) функция transl()
должна иметь аргумент 
 (2) нет главного цикла обработки событий 
 (3) e1.get()
и e2.get()
должны быть e1.get("1.0", END)
и e2.get("1.0", END)
соответственно 
 (4) ошибок нет 
Номер 3
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены?
from Tkinter import *
from ScrolledText import ScrolledText
def transl():
txt = t1.get("1.0", END).replace(e1.get(), e2.get())
t2.delete()
t2.insert(END, txt)
tk = Tk()
f = Frame(tk)
e1 = Entry(f, background="White", width=32)
e1.pack(side=LEFT)
b = Button(f, text=">>", command=transl)
b.pack(side=LEFT)
e2 = Entry(f, background="White", width=32)
e2.pack(side=LEFT)
f.grid(row=0, column=0, columnspan=2)
t1 = ScrolledText(tk, background="White", width=40)
t1.grid(row=1, column=0)
t2 = ScrolledText(tk, background="White", width=40)
t2.grid(row=1, column=1)
tk.mainloop()
Ответ:
 (1) функция transl()
должна иметь аргумент 
 (2) виджет f
должен занимать три ячейки, а не две (в нем кнопка и две полоски ввода) 
 (3) метод delete
текста не содержит позиций удаляемого текста 
 (4) ошибок нет 
Номер 4
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены?
from Tkinter import *
from ScrolledText import ScrolledText
def transl():
txt = t1.get("1.0", END).replace(e1.get(), e2.get())
t2.delete("1.0", END)
t2.insert(END, txt)
tk = Tk()
f = Frame(tk)
e1 = Entry(f, background="White", width=32)
b = Button(f, text=">>", command=transl)
e2 = Entry(f, background="White", width=32)
f.grid(row=0, column=0, columnspan=2)
t1 = ScrolledText(tk, background="White", width=40)
t1.grid(row=1, column=0)
t2 = ScrolledText(tk, background="White", width=40)
t2.grid(row=1, column=1)
tk.mainloop()
Ответ:
 (1) функция transl()
должна иметь аргумент 
 (2) некоторые виджеты не появятся в окне, так как не применены менеджеры расположения 
 (3) e1.get()
и e2.get()
должны быть e1.get("1.0", END)
и e2.get("1.0", END)
соответственно 
Номер 5
Следующая программа производит замену одной подстроки на другую в тексте слева, записывая текст в виджете справа. Какие ошибки в ней допущены?
from Tkinter import *
from ScrolledText import ScrolledText
def transl():
txt = t1.get("1.0", END).replace(e1.get(), e2.get())
t2.delete("1.0", END)
t2.insert(END, txt)
tk = Tk()
f = Frame(tk)
e1 = Entry(f, background="White", width=32)
e1.pack(side=LEFT)
b = Button(f, text=">>", command=transl)
b.pack(side=LEFT)
e2 = Entry(f, background="White", width=32)
e2.pack(side=LEFT)
f.grid(row=0, column=0, columnspan=2)
t1 = ScrolledText(tk, background="White", width=40)
t1.grid(row=1, column=0)
t2 = ScrolledText(tk, background="White", width=40)
t2.grid(row=1, column=1)
tk.mainloop()
Ответ:
 (1) нажатие кнопки не привязано к событию с помощью метода bind()
 
 (2) применены разные менеджеры расположения 
 (3) вместо columnspan
нужен rowspan
 
 (4) ошибок нет