- Введение в курс
- Тема 1. Введение в Python
- Тема 2. Типы данных и операции
- Тема 3. Инструкции и синтаксис
- Тема 4. Функции, модули и пакеты
- Тема 5. Объектно-ориентированное программирование (ООП)
- Тема 6. Графический интерфейс пользователя
- Тема 7. Взаимодействие с интернетом. Разработка web-приложений
- Тема 8. Доступ к базам данных из Python
- Заключение
- Итоговая аттестация
Базовый класс для всех виджетов в Tkinter – …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Widget
- BaseWidget
- Misc
- TopLevel
- Frame
Библиотека Python, которая позволяет создавать пользовательские интерфейсы с поддержкой мультитач и написана на сочетании Python и Cython, – это …
Тип ответа: Текcтовый ответ
В результате выполнения приведенного ниже кода на экран будет выведено … def add(*args): return sum(args) print(add(1, 2, 3))
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Виджет в Tkinter, предназначенный для отображения какой-либо надписи без возможности редактирования пользователем, – это …
Тип ответа: Текcтовый ответ
Виртуальная машина Python (PVM) отвечает за …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- парсинг исходного кода
- выполнение байт-кода
- оптимизацию памяти приложений
Декоратор @… в Python позволяет методам класса работать с самим классом, а не с его экземплярами
Тип ответа: Текcтовый ответ
Добавление директории в путь поиска модулей: …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- sys.append('/path/to/dir')
- sys.path.append('/path/to/dir')
- os.path.append('/path/to/dir')
- import.append('/path/to/dir')
Класс в Tkinter, который предоставляет возможность работы с таблицами и списками, – это …
Тип ответа: Текcтовый ответ
Класс, предоставляющий методы для рисования графических элементов в Tkinter, – это …
Тип ответа: Текcтовый ответ
Команда … служит для получения списка таблиц в базе данных MySQL.
Тип ответа: Текcтовый ответ
Конструктор класса в Python автоматически вызывается при создании нового экземпляра и называется __…__
Тип ответа: Текcтовый ответ
Метод … используется для получения текущего рабочего каталога в Python
Тип ответа: Текcтовый ответ
Метод … сортировки используется для сортировки списка в Python на месте
Тип ответа: Текcтовый ответ
Метод для выполнения запросов в виде списка строк – это метод …
Тип ответа: Текcтовый ответ
Модуль или файл, в котором содержатся настройки приложения в проекте Django: …
Тип ответа: Текcтовый ответ
Неверно, что фреймворк … относится к веб-разработке на Python
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Необходим скрипт на Python, который удаляет повторяющиеся элементы из списка [2, 4, 5, 1, 2, 7, 8, 4, 1]. Напишите данный скрипт.
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- lst = [2, 4, 5, 1, 2, 7, 8, 4, 1] unique_list = list(lst) print(unique_list)
- lst = [2, 4, 5, 1, 2, 7, 8, 4, 1] unique_list = [] for i in lst: if lst.count(i) == 1: unique_list.append(i) print(unique_list)
- lst = [2, 4, 5, 1, 2, 7, 8, 4, 1] unique_list = list(set(lst)) print(unique_list)
Необходима программа на Python, которая правильно считывает возраст пользователя и выводит его год рождения. Приведите данную программу.
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- from datetime import datetime age = int(input("Введите ваш возраст")) current_year = datetime.now().year birth_year = age - current_year print("Ваш год рождения:", birth_year)
- from datetime import datetime age = int(input("Введите ваш возраст")) current_year = datetime.now().year birth_year = current_year - age print("Ваш год рождения: ", "birth_year")
- from datetime import datetime age = int(input("Введите ваш возраст: ")) current_year = datetime.now().year birth_year = current_year - age print ("Ваш год рождения:", birth_year)
Ниже представлен код, который использует именованные параметры в запросе к базе данных SQLite. import sqlite3 def fetch_tasks_by_status_and_project_named(db_name, status, project_name): connection = sqlite3.connect(db_name) # Установка row_factory для получения данных в виде словарей connection.row_factory = sqlite3.Row cursor = connection.cursor() # Определение запроса с именованными параметрами и явным указанием колонок query = """ SELECT id, priority, description, status, deadline, completed, project FROM tasks WHERE status = :status AND project = :project """ # Выполнение запроса с использованием именованных параметров cursor.execute(query, {"status": status, "project": project_name}) rows = cursor.fetchall() for row in rows: print( f"ID: {row['id']}, Priority: {row['priority']}, Description: {row['description']}, " f"Status: {row['status']}, Deadline: {row['deadline']}, Completed: {row['completed']}, " f"Project: {row['project']}" ) connection.close() if __name__ == "__main__": fetch_tasks_by_status_and_project_named("projects_and_tasks.db", "pending", "Learn Python") Что произойдет, если в запросе используются неверные имена именованных параметров (например, :stat вместо :status)?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Запрос выполнится успешно, но данные для параметра :stat не будут включены в результат.
- Возникнет ошибка выполнения, так как указанный параметр не найден в запросе.
- Запрос выполнится, но результат будет пустым, так как параметр :status не будет учитываться.
- Запрос выполнится и вернет неверные данные, так как параметр :stat заменится на :status.
Ниже представлен код. import sqlite3 # Подключение к базе данных SQLite conn = sqlite3.connect('example.db') cursor = conn.cursor() # Выполнение запросов SQLite cursor.execute('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)') cursor.execute('INSERT INTO users (name) VALUES (?)', ('Alice',)) conn.commit() # Проверка содержимого таблицы cursor.execute('SELECT * FROM users') rows = cursor.fetchall() # Закрытие соединения conn.close() print(rows) Что выведет этот код?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- [(1, 'Alice'), (2, 'Bob')] – таблица users содержит две записи, одна из которых – с именем 'Alice'.
- [] – таблица users пуста, так как запись не была сохранена.
- Ошибка выполнения – запрос INSERT не выполнится из-за некорректного параметра.
- [(1, 'Alice')] – таблица users содержит одну запись с именем 'Alice'.
Ниже приведен декоратор в Python. def log_function_call(func): def wrapper(*args, **kwargs): print(f"Функция {func.__name__} была вызвана с аргументами: {args} и {kwargs}") return func(*args, **kwargs) return wrapper Что делает данный декоратор?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Данный декоратор изменяет переданные функции так, что они возвращают только строку с именем функции и ее аргументами, не выполняя основной код функции.
- Данный декоратор изменяет логику функции так, что она всегда возвращает результат умножения переданных аргументов.
- Данный декоратор добавляет логику, которая выводит имя функции и аргументы при каждом ее вызове, а затем выполняет основной код функции.
- Данный декоратор делает так, что функция всегда вызывается без аргументов, вне зависимости от того, какие значения передаются.
Ниже приведен код на Python. class Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): if isinstance(other, Vector): return Vector(self.x + other.x, self.y + other.y) return NotImplemented def __repr__(self): return f"Vector({self.x}, {self.y})" v1 = Vector(1, 2) v2 = Vector(3, 4) result = v1 + v2 print(result) Что произойдет при перегрузке оператора + для класса Vector в следующем коде?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Программа выведет: Vector(4, 6)
- Программа выведет: Vector(1, 2) + Vector(3, 4)
- Программа выдаст ошибку, так как нельзя перегрузить оператор + для пользовательских классов.
- Программа выдаст ошибку из-за отсутствия метода __repr__.
Ниже приведен код на Python. from abc import ABC, abstractmethod class Animal(ABC): def __init__(self, name): self.name = name @abstractmethod def sound(self): pass class Dog(Animal): def sound(self): return "Гав" class Cat(Animal): def sound(self): return "Мяу" # Создание экземпляра класса Animal animal = Animal("Барбос") Что произойдет при попытке создания экземпляра класса Animal в следующем коде?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Программа выведет ошибку, так как невозможно создать экземпляр абстрактного класса.
- Программа создаст объект класса Animal, но метод sound() останется не реализованным.
- Программа выведет: Создано животное: Барбос
- Программа создаст объект класса Animal, и метод sound() вернет None.
Ниже приведен код с использованием Tkinter для создания интерфейса. import tkinter as tk def say_hello(): print("Привет!") root = tk.Tk() root.title("Пример окна") btn = tk.Button(root, text="Нажми меня", command=say_hello) btn.pack() root.mainloop() Что произойдет, если выполнить данный код?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- При нажатии на кнопку в консоли выведется "Привет!".
- При нажатии на кнопку программа не выполнится, так как у объекта root нет метода pack.
- Кнопка будет создана, но при нажатии на нее ничего не произойдет.
- При нажатии на кнопку программа выдаст ошибку, так как не указан обязательный аргумент для метода command.
Ниже приведен код с использованием Tkinter. import tkinter as tk class MyApp: def __init__(self, master): self.master = master master.title("MyApp") self.label = tk.Label(master, text="Hello, Tkinter!") self.label.pack() self.button = tk.Button(master, text="Click Me", command=self.change_text) self.button.pack() def change_text(self): self.label.config(text="Text Changed!") root = tk.Tk() app = MyApp(root) root.mainloop() Что произойдет при запуске приложения?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- При запуске приложения будут созданы окно с надписью «Hello, Tkinter!» и кнопка «Click Me». После нажатия на кнопку текст надписи изменится на «Text Changed!».
- При запуске приложения будет создано окно с кнопкой «Click Me», но текст надписи не изменится при нажатии на кнопку, так как метод change_text некорректно привязан к кнопке.
- При запуске приложения программа завершится с ошибкой, так как класс MyApp не имеет метода __init__, или его необходимо назвать иначе.
- При запуске приложения в окне появится только кнопка «Click Me», а текст «Hello, Tkinter!» не будет отображаться, так как метод pack вызван неправильно.
Ниже приведен код, написанный на Python. class Animal: def __init__(self, name): self.name = name print(f"Создано животное: {self.name}") def speak(self): return f"{self.name} издает звук" class Dog(Animal): def __init__(self, name, breed): super().__init__(name) self.breed = breed print(f"Порода собаки: {self.breed}") def speak(self): return f"{self.name} лает" class Cat(Animal): def speak(self): return f"{self.name} мяукает" def make_animal_speak(animal): print(animal.speak()) # Создаем объекты dog = Dog("Барбос", "Овчарка") cat = Cat("Мурка") make_animal_speak(dog) make_animal_speak(cat) Какой результат будет напечатан после выполнения данного кода?
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- Создано животное: Барбос Порода собаки: Овчарка Барбос лает Мурка мяукает
- Создано животное: Барбос Порода собаки: Овчарка Создано животное: Мурка Барбос лает Мурка мяукает
- Создано животное: Барбос Барбос лает Мурка издает звук
- Программа вызовет ошибку, так как метод speak не переопределен в классе Cat.
Оператор … используется для перебора элементов списка в Python
Тип ответа: Текcтовый ответ
Оператор, используемый для создания контекста выполнения кода, – это оператор …
Тип ответа: Текcтовый ответ
Основным преимуществом интерпретируемых языков, таких как Python, является …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- высокая производительность
- простота отладки и тестирования
- необходимость компиляции в машинный код
При запуске основного цикла обработки событий в Tkinter происходит …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- создание нового виджета
- обеспечение постоянной работы приложения и его реакции на действия пользователя
- запуск сетевого соединения
- создание и обработка анимации
- подключение к базе данных
Процесс создания конкретных объектов на основе класса – это …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- наследование
- композиция
- создание экземпляров
- полиморфизм
Расположите фрагменты кода, определяющие иерархию классов, в том порядке, в котором Python будет искать метод в классе X (порядок разрешения методов (MRO) для класса X):
Тип ответа: Сортировка
- 1 class X(D):
- 2 class D(B, C):
- 3 class B(A):
- 4 class C(A):
- 5 class A:
Соотнесите описание функционала с правильным классом или функцией:
Тип ответа: Сопоставление
- A. Метод, который извлекает все строки результата выполненного SQL-запроса
- B. Метод объекта подключения, который фиксирует (подтверждает) все изменения, сделанные в базе данных в рамках текущей транзакции
- C. Метод для выполнения SQL-запросов к базе данных
- D. Метод для работы с базами данных в Python, позволяющий обращаться к полям строки по их именам вместо индексов
- E. Функция, используемая для создания подключения к базе данных SQLite
- F. Метод объекта подключения, который отменяет все изменения, сделанные в рамках текущей транзакции, и возвращает базу данных в состояние до начала транзакции
- G. cursor.fetchall()
- H. connection.commit()
- I. cursor.execute()
- J. sqlite3.Row
- K. sqlite3.connect()
- L. connection.rollback()
Строка text после выполнения кода (см. рисунок ниже) будет выглядеть … text = "Python" text = text * 3
Тип ответа: Текcтовый ответ
Текстовой файл … используется для управления зависимостями проекта в Python
Тип ответа: Текcтовый ответ
Установите правильный порядок шагов создания простого окна в Tkinter:
Тип ответа: Сортировка
- 1 создать экземпляр Tk
- 2 создать виджеты
- 3 разместить виджеты в окне
- 4 запустить главный цикл обработки событий
Установите соответствие операторов в Python и их характеристик:
Тип ответа: Сопоставление
- A. for
- B. while
- C. break
- D. continue
- E. pass
- F. range
- G. enumerate
- H. эта конструкция используется для итерации по элементам последовательности (например, списка или строки)
- I. эта ключевая конструкция используется для повторного выполнения блока кода, пока условие истинно
- J. эта инструкция завершает выполнение цикла и позволяет выйти из него
- K. эта инструкция завершает текущую итерацию цикла и продолжает выполнение со следующей итерацией
- L. эта инструкция не выполняет никаких действий и используется как заглушка
- M. эта функция возвращает пары индекс-значение, которые можно использовать для итерации
- N. эта функция возвращает последовательность чисел, которую можно использовать для итерации
Файл URL маршрутов проекта, определяющий, какие котроллеры (views) будут обрабатывать запросы для каждого URL адреса, – это …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Чтобы передать переменное количество аргументов функции, необходимо ввести: …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- def my_function(*args):
- def my_function(**kwargs):
- def my_function(*vars):
- def my_function(args*):
Python ищет модули для импорта в …
Тип ответа: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
- корневом каталоге системы
- директориях, указанных в sys.path
- каталоге /usr/local/bin
- домашнем каталоге пользователя