ННГАСУ практика по python
Для работы необходим python 3.9 и выше. Библиотеки: numpy, matplotlib Редактор любой. Из неплохих: IDLE (родной, идёт вместе с установщиком), Visual Studio Code, notepad++, PyCharm, vim (для любителей сначала страдать, потом наслаждаться)
Работа с блокнотами онлайн, с возможностью подключение удалённых мощностей гугла (GPU, TPU): https://colab.research.google.com/
Таблица, где я буду отмечать сданные работы: https://docs.google.com/spreadsheets/d/1QCHpZehe26M6ybqkQNUqSTkRFvf2qCnnfMgNk9N4L4M/edit?usp=sharing
Доска с моими каракулями по алгоритмам: https://miro.com/app/board/o9J_lrvHqrI=/?invite_link_id=823446043784
Хорошая книга по python, очень простым языком и на понятных примерах: https://wombat.org.ua/AByteOfPython/AByteofPythonRussian-2.02.pdf
Сервер в Дискорд, где буду дублировать: https://discord.gg/MzPkCYf4Dh Мой контакт: nsmorozov@rf.unn.ru
В своей папке можете делать все что угодно, в чужие не залезать, в корневую тоже. Я буду ориентироваться на файлы, где в названии будет номер лабораторной.
-
Создать словарь из пар ключ-значение, где ключи - это буквы своей фамилии, а значения - это порядковый номер буквы в алфавите, от которого взят:
а) факториал (если вы родились весной);
б) число Фиббоначи (осень);
в) возведение в третью степень(зима);
г) основание натурального логарифма ex (лето).
-
Отсортировать его по ключу в алфавитном порядке и сохранить в файл.
-
Отсортировать по значениям от меньшего к большему и сохранить в файл.
-
Для задания 1(а-г) написать функцию-генератор.
-
Создать список из значений словаря и разделить его на два: один из значений меньше среднего по списку, второй - среднее и выше.
- Используйте файл лабиринта из своей папки, в котором точка входа на верхней границе, а точка выхода - на нижней.
- Ввести с клавиатуры точку (указать в каких пределах) расположения "сокровища", найти к нему путь (любой, поиск в глубину).
- От точки сокровища узнать длину кратчайшего пути (поиск в ширину) к выходу (вывести) и построить его.
- Сохранить в файл 'maze-for-me-done.txt', в котором точка сокровища будет указана как '*', а сам маршрут построен точками к сокровищу и запятыми от него к выходу.
- Какие классы будут нужны?
-
Maze: считывание из файла, хранение, информация о содержимом клетки по координатам, информация о координатах сокровища.
-
Pathfinder: информация о личности, двигаться в 8 направлениях: S, N, E, W, E, NW, NE, SW, SE, записывать в журнал (кортеж или список) свой маршрут в формате coord = [x, y], только положительные (проверять перед шагом)
-
Tracer: набор алгоритмов (в нашем случае - в глубину и ширину). Принимает сам лабиринт и искателя, ведет его по лабиринту. Искатель сам в это время записывает свой маршрут.
-
Trace_maker: умеет из лабиринта и искателя построить маршрут из точек и запятых и сохранить его в файл.