Hola,
En esencia parece que está bien. Igual fijate en la solución que es más corta, porque hay algunos if else que se pueden obviar.
El mayor error que veo es que las variables de entrada están al revés de como pide la letra. No es un gran error, pero te puede causar problemas en la vida real. Deben respetar el órden de los parámetros de entrada y salida. Eso aplica también para los laboratorios (en curso y futuros).
saludos,
Eduardo