Skip to content

PenzaStreetGames/ToWant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To Want

Как To Do, только делать руки не дойдут.

Программирование

Приложения

OBSearch

Приложение по поиску общественных туалетов

Народная карта общественных туалетов с подробной информацией о том, как добраться

Карта пополняется пользователями и модераторами

Quendless

Приложение для организации очередей на практических занятиях

Пользователи организуют группы и очереди. Доступна модерация групп.

Контест для домашки в универе

Веб-сервис по проверке программ на языке Джава

Система проверки домашнего задания а-ля Путуридзе-Советов

Webridge

Генератор форм клиента по сущностям серверной части с валидацией

Возможна интеграция со Swagger

MetaStruct

JIT-компилятор питона в dll-библотеки на C++ для ускорения работы программ

Работает на очень маленьком наборе синтаксических конструкций, но может быть расширен

ReportTemplating

Вставка в документы Word кода из файлов, картинок, заранее заданных переменных

Игры

TriggerTrap

Игра про жизнь студента

На данный момент имеется идея для трёх частей:

  1. Триггерная ловушка (1й семестр, экзамен по информатике)
  2. Юнона (2й семестр, курсовая по ООП)
  3. Майор Интеграл (3й семестр, зачёт по вычислительной математике)

Языковые конструкции

Цикл Repeat

Повторяет действие 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

Операторы 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

Однострочная запись

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])

Какова эффективность применения, как следует фрагментировать массив?

Писательство

Доклад Кривозеролога

Псевдонаучный рассказ о жизни в болотистой глубинке

Смена мечты

Рассказ про лагерь, основанный юношеских на воспоминаниях

Триггерная ловушка

Сценарий к игре про жизнь студента в универе

About

Проект с мыслями для проектов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors