Variable representing object's rotation minus another object's rotation not working?
Only use the formatting strings "%.0f" % degrees(mimic_rotation.x)to format output to print statements, file etc, not to set values.  The formatting converts the value to a string.  Feel somewhat responsible as this was taken from my answer to your question  https://blender.stackexchange.com/a/41328/15543.

Use round or floor if you want just the integer part here, although I'm not really sure what you are trying to achieve.  Are you trying to restrict values to whole degree amounts?  As pointed out previously blender uses radians as its default unit.  http://bgepython.tutorialsforblender3d.com/GameObject/applyRotation

rotation_fix_x = own.rotation.x - mimic.rotation.x
if own.rotation.x &gt; own.rotation.y:
   own.applyRotation((rotation_fix_x, 0, 0), True) 


The above would work ok because it is dealing in float types, but wouldn't set to a whole degree amount.
Here is some console code from bpy looking at the rotation_euler.x of an object

# rotation.x in radians
&gt;&gt; C.object.rotation_euler.x
1.1093189716339111
# rotation as degrees.
&gt;&gt;&gt; x = degrees(C.object.rotation_euler.x)
&gt;&gt;&gt; x
63.5592952084158
# rounded to a whole number
&gt;&gt;&gt; y = round(x,0)
&gt;&gt;&gt; y
64.0
# how much to add to C.rotation_euler.x to make it whole number in degs.
&gt;&gt;&gt; fix = radians(x - y)
&gt;&gt;&gt; fix
-0.007691749642459737


To step in degrees use radians(1) when applying your rotation from the kb.