Это старая версия Информатика/Aрхив/2022/11В-2 за 26.11.2021 15:37 под редакцией DenisKirienko.
Просмотр кода страницы 11 В-2 страница
((Поступление2022 Как поступать в вуз в 2022 году?)) ==Первое полугодие: Qt + ~PySide2== ((/Информатика/PySide2 PySide2 - установка, документация)) ((http://server.179.ru/cgi-bin/new-client?contest_id=1272&locale_id=1 Вход в тестирующую систему)) ((http://server.179.ru/ejudge/stand/mp/stand.php?contest=1272 Таблица результатов)) ===27 ноября (9)=== ((https://u.pcloud.link/publink/show?code=XZLjuRXZEwEXCuzzVG4FRpO0JjuwI4tHJoEV Первый пример с урока - изменение размеров виджета "вручную")) ((https://u.pcloud.link/publink/show?code=XZAuuRXZMJRdfMEFxg5D4alt5b4sMjq7K31V Второй пример с урока - использование менеджера компоновки для изменения размера виджетов)) ((https://doc.qt.io/qtforpython/PySide2/QtWidgets/QLayout.html Документация на QLayout)) Окно приложения должно содержать ~SpinBox, управляющий количеством итераций кривой Коха. Размеры кривой Коха должны меняться при изменении размеров окна. Сама кривая Коха должна быть максимального размера, допустимого для данного размера окна и располагаться в центре окна. ===20 ноября (8)=== ((https://u.pcloud.link/publink/show?code=XZgMdzXZnlGFNtb9tvHdFscW3wK5V79dtw5X Пример с урока)) Кривая Коха должна отрисовываться методом ~paintEvent. Виджет имеет слот, обновляющий значение числа итераций. Этот слот должен изменить значения члена класса, хранящего число итераций, и вызвать для виджета метод repaint() для обновления содержимого. Приложение имеет элемент управления, посылающий сигнал об изменении количества итераций, связанный с данным слотом. Размер окна приложения ~XxY определяется константами в начале программы, например: X = 500 Y = 200 При изменении этих констант должны меняться размеры окна и виджета. Между тем метод repaint() для виджета должен использовать для определения размеров виджета не константы, а методы типа width() и height(). Кривая (именно кривая, а не нижняя линия кривой) должна размещаться в центре окна и целиком помещаться в окне, при этом быть максимально возможного размера. ===13 ноября (7)=== ((https://u.pcloud.link/publink/show?code=XZpAkzXZ8PFTm644E8kMIkGYeSi5v76GUYyk Пример с урока)) Создайте окно приложения и нарисуйте внутри виджета кривую Коха порядка N. Значение числа итераций должно определяться константой в начале кода. Например: N = 5 Кривая должна размещаться в центре окна и целиком помещаться в окне. Кривая должна «смотреть вверх». ===16 октября (5)=== Функциональность приложения. Хранение таблицы результатов лучших игроков (угадавших за минимальное число ходов). Должно храниться пять лучших результатов. При удачном окончании игры (если игрок будет добавлен в таблицу результатов), приложение запрашивает имя игрока (это удобно делать при помощи ((https://doc.qt.io/qtforpython/PySide2/QtWidgets/QInputDialog.html InputDialog))), сохраняет его в файле с лучшими результатами. Должна быть возможность просмотра лучших результатов (можно при помощи ((https://doc.qt.io/qtforpython/PySide2/QtWidgets/QMessageBox.html MessageBox))). Выдача лучших результатов – в порядке неубывания числа ходов, использованных при отгадывании. ((https://u.pcloud.link/publink/show?code=XZmTqpXZUH6eeuuh4cRei8bcDonRqSsVPomy Пример использования ~InputDialog для ввода строки)) Программа должна корректно работать как при наличии, так и при отсутствии таблицы результатов. Если файла с результатами не существует, то его нужно создать. Как проверить корректность открытия файла? Можно использовать модуль os. Можно открывать файл под обработкой исключений и перехватывать исключение ~FileNotFoundError. ((https://u.pcloud.link/publink/show?code=XZFTqpXZC7eTr0mfMopOONGNF5coVROwbmmy Пример реализации открытия файла с перехватом исключения)) ===9 октября (4)=== Функциональность приложения - полноценный игровой режим с началом новой игры и подсчётом числа ходов. В окне две кнопки "Угадать" и "Сдаться". Также ведется подсчет числа попыток, за которое было угадано число. Не учитывается в качестве попытки: ввод некорректного числа, ввод числа, совпадающего с тем числом, которое было введено последним перед этим. При нажатии на кнопку "Угадать" идет проверка числа и выводится сообщение о результате проверки. Если в результате проверки было угадано задуманное число, то выводится сообщение об этом, выводится число ходов и на кнопке "Сдаться" текст меняется на "Новая игра", а нажатия на кнопку "Угадать" игнорируются (можно сделать кнопку неактивной). После нажатия на кнопку "Новая игра" задумывается новое число, текст кнопки меняется на "Сдаться" и все начинается заново. При нажатии на кнопку "Сдаться" выводится задуманное число, после чего пользователю предлагается начать новую игру нажатием на кнопку "Новая игра". Слова "быки" и "коровы" должны склоняться по правилам русского языка, например, "1 бык 2 коровы" После начала новой игры информация о предыдущей игре из окна приложения должна быть убрана. ===2 октября (3)=== Реализация игры ((http://goo.gl/2UwG03 Быки и коровы)). Функциональность приложения. После запуска программы компьютер генерирует случайное 4-значное число (все цифры различны, начинается не с нуля). **Число выводится на стандартный вывод - функцией print, в отладочных целях**. Главное окно приложения содержит поле ввода (~QLineEdit) для ввода задуманного числа, кнопку "Проверить" (~QPushButton) и строчку для вывода сообщения (~QLabel). При нажатии на кнопку производится проверка введенного числа, и либо выводится сообщение о том, что число некорректно, либо выводится количество быков и коров для введенного числа. Сообщения выводятся путем изменения текста у объекта ~QLabel. Все надписи должны быть на русском языке. Файл должен быть сохранён в кодировке UTF-8. Поставьте в начало файла строчку %%(code) # -*- coding: utf-8 -*- %% ===25 сентября (2)=== ((http://u.pc.cd/U0nctalK Пример с урока)) Задание. Добавить в приложение три кнопки: увеличение значения на 1, уменьшения на 1 и сброса значения. Нажатие на эти кнопки должно приводить к изменению значения в классе ~MyCounter и всех элементах управления на экране (~LineEdit, ~SpinBox, ~Slider). ===18 сентября (1)=== ((https://u.pcloud.link/publink/show?code=XZ14e5XZy3hDH98ptl7KkFkpiEHx6YG4D6e7 Пример с урока)) Задание 0. Установить дома ~PySide2, сделать скриншот запущенной среды Wing IDE или ~PyCharm и запущенного приложения, использующего библиотеку ~PySide2. Скриншот сохранить в формате JPEG и сдать в тестирующую систему. Задание 1. Создать приложение, содержащее четыре кнопки, связать их с разными слотами главного окна приложения (нельзя использовать слот hide). Приложение должно иметь приличный вид, надписи на кнопках должны быть понятными и соответствовать выполняемым действиям. Приложение (файл на языке питон) сдать в тестирующую систему. ((https://doc.qt.io/qtforpython/PySide2/QtWidgets/QWidget.html#slots Документация на слоты класса QWidget))