Find an unknown length using sohcahtoa (Trigonometry)
You know the equations, but fail to return them in your sohcahtoa dictionary.
Take 'soh':

\$\sin(\theta) = \frac{o}{a}\$
\$o = a\sin(\theta)\$
\$a = \frac{o}{\sin(\theta)}\$

From this you know all the equations, and you know they follow the form op(side, trig_fn(angle)). And so you should expand your sohcahtoa dictionary to contain this too.
I'd recommend you make an Enum for opposite, adjacent and hypotenuse, so that you get an actual error, rather than hidden errors, if you mis-spell them. (Yes you should be careful of this.)
It doesn't make sense to create sohcahtoa every time you call the function.


And so I'd change to:

from enum import Enum
import math
import operator

class TrigSides(Enum):
    OPPOSITE = 'opposite'
    ADJACENT = 'adjacent'
    HYPOTENUSE = 'hypotenuse'

SOHCAHTOA = {
    TrigSides.OPPOSITE: {
        TrigSides.HYPOTENUSE: (math.sin, operator.truediv),
        TrigSides.ADJACENT: (math.tan, operator.truediv)
    },
    TrigSides.HYPOTENUSE: {
        TrigSides.OPPOSITE: (math.sin, operator.mul),
        TrigSides.ADJACENT: (math.cos, operator.mul)
    },
    TrigSides.ADJACENT: {
        TrigSides.HYPOTENUSE: (math.cos, operator.truediv),
        TrigSides.OPPOSITE: (math.tan, operator.mul)
    }
}

def trigonometry(angle, side, known, unknown):
    trig_fn, op = SOHCAHTOA[known][unknown]
    return op(side, trig_fn(math.radians(angle)))