Как To Do, только делать руки не дойдут.
Приложение по поиску общественных туалетов
Народная карта общественных туалетов с подробной информацией о том, как добраться
Карта пополняется пользователями и модераторами
Приложение для организации очередей на практических занятиях
Пользователи организуют группы и очереди. Доступна модерация групп.
Веб-сервис по проверке программ на языке Джава
Система проверки домашнего задания а-ля Путуридзе-Советов
Генератор форм клиента по сущностям серверной части с валидацией
Возможна интеграция со Swagger
JIT-компилятор питона в dll-библотеки на C++ для ускорения работы программ
Работает на очень маленьком наборе синтаксических конструкций, но может быть расширен
Вставка в документы Word кода из файлов, картинок, заранее заданных переменных
Игра про жизнь студента
На данный момент имеется идея для трёх частей:
- Триггерная ловушка (1й семестр, экзамен по информатике)
- Юнона (2й семестр, курсовая по ООП)
- Майор Интеграл (3й семестр, зачёт по вычислительной математике)
Повторяет действие n раз
i = 0
repeat 5:
i += 5
print(i)
>>> 25
Эквивалент
i = 0
for j in range(5):
i += 5
print(i)
>> 25
Преимущества:
- Не нужно выделять переменную для итераций
- Более короткая запись
Недостатки:
- Перегрузка синтаксиса
Обращение по индексу к числу - знак в n-й позиции
512[1]
>>> 1
512[2]
>>> 5
number = 123.4
for i in range(-2,4):
print(number[i])
>>> 0
>>> 4
>>> 3
>>> 2
>>> 1
>>> 0
Преимущества:
- Отказ от конструкций типа
n % 100 // 10 - Может работать для дробных чисел
- Определено для любого целого индекса
Выдаётся случайное число в диапазоне от 0 до 1 и в зависимости от интервалов выполняется действие
prop:
case 0.5:
print("шанс 1 из 2")
case 1/3:
print("шанс 1 из 3")
case _:
print("остаточный шанс")
Преимущества:
- Простое описание случайных величин
Недостатки:
- Практическая бесполезность за исключением пары случаев
Операторы break и continue позволяют откатываться только на одну вложенность, а если бы...
for i in range(8):
for j in range(8):
for k in range(8):
if (i + j + k == 4):
break 3
# откатится до "for i"
Однострочная запись
for i, j, k in range(8), range(8), range(8):
# кубик умножения
print(i * j * k)
Эквивалент
for i in range(8):
for j in range(8):
for k in rage(8):
print(i * j * k)
В массиве элементы идут подряд
[1, 2, 3, 4, 5]
В списке элементы идут врозь
(1) -> (2) -> (3) -> (4) -> (5)
Существует ли компромиссный вариант?
([1, 2]) -> ([3, 4]) -> ([5])
Какова эффективность применения, как следует фрагментировать массив?
Псевдонаучный рассказ о жизни в болотистой глубинке
Рассказ про лагерь, основанный юношеских на воспоминаниях
Сценарий к игре про жизнь студента в универе