import turtle


def opeciatkuj_vzor(dlzka):
    '''
    Vykresli vzor so zadanou dlzkou useciek
    :param dlzka: dlzka najmensieho trojuholnika vo vzore
    :type dlzka: int|float
    :return: None
    '''
    pero.forward(dlzka / 2)
    pero.right(60)
    pero.forward(dlzka)
    pero.right(60)
    pero.forward(dlzka)
    pero.right(120)
    pero.forward(dlzka)
    pero.right(120)
    pero.forward(dlzka)
    pero.forward(-dlzka)
    pero.left(60)
    pero.forward(dlzka)
    pero.right(60)
    pero.forward(dlzka / 2)


def opeciatkuj(pocet_x, pocet_y, dlzka):
    '''
    Vykreslí v obdlznikovej sieti opakujuci sa vzor so zadanou dlzkou najmensieho trojuholnika
    :param pocet_x: pocet vzorov vo vodorovnom smere
    :type pocet_x: int
    :param pocet_y: pocet vzorov vo zvislom smere
    :type pocet_y: int
    :param dlzka: dlzka najmensieho trojuholnika vo vzore
    :type dlzka: int|float
    :return: None
    '''
    for x in range(pocet_x):
        for y in range(pocet_y):
            opeciatkuj_vzor(dlzka)
        pero.forward(-pocet_y * dlzka)
        pero.right(90)
        pero.penup()
        pero.forward(dlzka * 3 ** 0.5)
        pero.left(90)
        pero.pendown()
    pero.left(90)
    pero.penup()
    pero.forward(dlzka * pocet_x * 3 ** 0.5)
    pero.right(90)
    pero.pendown()


tabula = turtle.Screen()
pero = turtle.Turtle()
tabula.delay(0)
pero.speed(0)
pero.left(90)
opeciatkuj(14, 12, 15)
tabula.mainloop()
