blender game: spawn object
First point is that bpy is not available while the game engine is running, similarly bge is only available when the game engine is running.

When developing in the game engine you might find using the console to be helpful. In the console you will see the following -

Python script error - object 'Cube', controller 'Python':
Traceback (most recent call last):
  File "Text", line 11, in &lt;module&gt;
KeyError: 'value = gameOb[key]: KX_GameObject, key "addOne" does not exist'


To expand on that, you have set own as the owner of the script controller that is running the current script. The syntax of own["xxx"] will give you access to a game property called 'xxx'. I expect you want to access a sensor that you have named 'addOne', for this you want to use cont.sensors['addOne'] and you may want to use it's positive property.

Also scene.adObject takes at least two arguments, the second being an object to use as the initial location when created - empties are good for this.

import random
from bge import logic

cont = logic.getCurrentController()
own = cont.owner
scene = logic.getCurrentScene()

if cont.sensors['addOne'].positive:
    scene.addObject("Sphere","Empty")