Rotation using left, right, up and down

Good day to you.
First of all: Forgive me for my englisch, because I´m from germany. I hope no one blames me for that. ^^
Anyway I got a question and maybe one of you guys can help me. The problem:
I want to rotate and move a MC with the keys “left”, “right”, “up” and “down”. I know how to rotate it in a static way


if(up) ship.rotationZ = 0;
if(up && right) ship.rotationZ = 45;
if(right) ship.rotationZ = 90;
if(right && down) ship.rotationZ = 135;
...
...

Works fine but I want it to move smooth. Tweening doesn´t work because I have to use a fix degree as destination.
Let´s say I want to go from up(North) to (left)West. The shortest way is from 0° to -90°. But when I want to go from (down)South to (left)West it is from 180° to 270°…always use the shortest way. I know that there are a bunch of tutorials where I can rotate just by using left and right and up for speed but I want it on every direction like a compass. Is there any way to do this or will that be just my own dream?

Thx!
TZP