Does not turn left..... Why?.....

Hi every1, the code is the following:
Code for turning:

def turn(self, dir, dt):
	 turnRate = self.handling * (2 -(self.speed / self.maxSpeed))
	 if(dir == "r"):
	  turnRate = -turnRate
	  self.cycle.setH(self.cycle, turnRate * dt)
	 elif(dir == "l"):
	  self.cycle.setH(self.cycle, TurnRate * dt)

Key assigments:

if(self.keyMap["d"] == True):
		 self.turn("r", dt)
		elif(self.keyMap["a"] == True):
		 self.turn("l", dt)

I dont get error messages, but the object only turns right, only key “d” works, when i press “a”, nothing happens… why? … Guess there is an logical error somewhere…?

You have a typo. It says TurnRate in one place and turnRate in the other.

God… i gotta buy a new keyborad… Thx for the help!..

i have this code here:

from direct.showbase.DirectObject import DirectObject
from pandac.PandaModules import Vec3

class Cycle(DirectObject):
	def __init__(self):
	 
	 self.setupVarsNPs()
	 taskMgr.add(self.cycleControl, "Cycle Control")
	 self.keyMap = {"w" : False,
		"s" : False,
		"a" : False,
		"d" : False,
		"mouse1" : False,
		"mouse3" : False}
		
	def setKey(self, key, value):
	 self.keyMap[key] = value
		
	def setupVarsNPs(self):
	 self.root = render.attachNewNode("Root")
	 self.dirNP = self.root.attachNewNode("DirNP")
	 self.refNP = self.root.attachNewNode("RefNP")
	 self.dirVec = Vec3(0,0,0)
	 self.cycleVec = Vec3(0,0,0)
	 self.refVec = Vec3(0,0,0)
	 self.speed = 0
	 self.throttle = 0
	 self.maxSpeed = 200
	 self.accel = 25
	 self.handling = 20
	 self.cycle=loader.loadModel("../Models/Ref.egg")
	 self.cycle.reparentTo(self.root)
	 self.cycle.setPos(2,15,0)
	 base.camera.reparentTo(self.dirNP)
	 base.camera.setY(base.camera, -5)
	 
	
	def cycleControl(self, task):
	 dt = globalClock.getDt()
	 if( dt > .20):
	  return task.cont
	 if(self.keyMap["w"] == True):
	  self.adjustThrottle("up", dt)
	 elif(self.keyMap["s"] == True):
	  self.adjustThrottle("down", dt)
	 if(self.keyMap["d"] == True):
	  self.turn("r", dt)
	 elif(self.keyMap["a"] == True):
	  self.turn("l", dt)
	 if(self.keyMap["mouse1"] == True):
	  self.cameraZoom("in", dt)
	 elif(self.keyMap["mouse3"] == True):
	  self.cameraZoom("out", dt)
	 if(base.mouseWatcherNode.hasMouse() == True):
	  mpos = base.mouseWatcherNode.getMouse()
	  base.camera.setP(mpos.getY()*30)
	  base.camera.setH(mpos.getX()* -30)
	 self.speedCheck(dt)
	 self.simDrift(dt)
	 self.move(dt)
	 return task.cont
		
	def cameraZoom(self, dir, dt):
	 if(dir == "in"):
	  base.camera.setY(base.camera, 10 * dt)
	 else: 
	  base.camera.setY(base.camera, -10 * dt)
	
	def turn(self, dir, dt):
	 turnRate = self.handling * (2 -(self.speed / self.maxSpeed))
	 if(dir == "r"):
	  turnRate = -turnRate
	  self.cycle.setH(self.cycle, turnRate * dt)
	 elif(dir == "l"):
	  turnRate= +turnRate
	  self.cycle.setH(self.cycle, turnRate * dt)
		
	def adjustThrottle(self, dir, dt):
	 if(dir == "up"):
	  self.throttle += .25 * dt
	  if(self.throttle >1):
	   self.throttle = 1
	 else:
	  self.throttle -= .25 * dt
	  if(self.throttle < -1):
	   self.throttle = -1
	   
	def speedCheck(self, dt):
	 tSetting = (self.maxSpeed * self.throttle)
	 if(self.speed < tSetting):
		if((self.speed + (self.accel * dt)) > tSetting):
			self.speed = tSetting
		else:
			self.speed += (self.accel * dt)
	 elif(self.speed > tSetting):
		if((self.speed - (self.accel * dt)) < tSetting):
			self.speed = tSetting
		else:
			self.speed -= (self.accel * dt)

	def simDrift(self, dt):
	  self.refNP.setPos(self.dirNP, 0, 1, 0)
	  self.dirVec.set(self.refNP.getX(), self.refNP.getY(), 0)
	  self.refNP.setPos(self.cycle, 0, 1, 0)
	  self.cycleVec.set(self.refNP.getX(), self.refNP.getY(), 0)
	  self.refVec.set(0,0,1)
	  vecDiff = self.dirVec.signedAngleDeg(self.cycleVec,self.refVec)
	 if(vecDiff < .1 and vecDiff > -.1):
	  self.dirNP.setH(self.cycle.getH())
	 else:
	  self.dirNP.setH(self.dirNP, vecDiff * dt * 2.5)
	  self.dirNP.setP(self.cycle.getP())
	  self.dirNP.setR(0)
	
	def move(self, dt):
	  mps = self.speed*1000/3600
	  self.refNP.setPos(self.dirNP, 0, 1, 0)
	  self.dirVec.set(self.refNP.getX(), self.refNP.getY(), self.refNP.getZ())
	  self.root.setPos(self.root,
		self.dirVec.getX() * dt * mps,
		self.dirVec.getY() * dt * mps,
		self.dirVec.getZ() * dt * mps)

and when i run the file i get:

if(vecDiff<.1 and vecDiff>-.1):
^
IndentationError: unindent does not match any outer indentation level

i checked for missplaced tab and space but still got the same error…

Ignore it… i solved it… Thx for the great help so far…