Skip to content

Instantly share code, notes, and snippets.

@vadella
vadella / hanoi_tests.py
Last active July 4, 2018 12:05
some tests for my hanoi implementation
from itertools import chain
from my_hanoi import (
pad_disk,
format_row,
buffer_peg,
pad_left_reverse,
solve_tower,
)
@vadella
vadella / my_hanoi.py
Created July 4, 2018 12:03
My hanoi implementation
from enum import IntEnum
from itertools import repeat
from PIL import Image
BUFFER_PEG = 10
LINE_WIDTH = 1
BUFFER_STEP = 5
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 20 17:18:39 2018
@author: Dimitar Dimov
"""
import PIL
import Tkinter
import Tkinter as Tk
@vadella
vadella / expression_parser.py
Last active April 25, 2018 14:28
parser for mathematical expressions
import re
from operator import add, sub, mul, floordiv, truediv
from functools import reduce
import itertools
OPERATIONS = (
(re.compile('\+'), add),
(re.compile('(?<=[\d\)])-'), sub), # not match the - in `(-1)`
(re.compile('\*'), mul),
(re.compile('//'), floordiv),
(re.compile('/'), floordiv), # or '/': truediv,
import csv
# import RPi.GPIO as GPIO #library for raspberry pins
import time
from collections import OrderedDict
from appJar import gui
HYDROREELS = OrderedDict()
HYDROREELS['125'] = (
(1.98, 1.93, 31.17),
@vadella
vadella / gist:7ccd66ea12278acb398b7076b3462efa
Created March 2, 2018 14:18
recursive or not via pathlib.Path
def files_under(directory, recursive=True):
root = Path(directory)
pattern = '**/*' if recursive else '*'
yield from root.glob(pattern)