Hi people. I've got a small piece of code that I don't understand. Basically, a variable inside an if statement inside a for loop doesn't seem to be updating. Is this a scope issue ?
Thanks Code segment: <snip> # run through the cycle and calculate the temperature and pressure at each position, ie every 0.5 crankshaft degrees #global newCylinderPressure #global newCylinderTemperature for position in range(1,721): newCylinderPressure = cylinderPressure[position -1] * (cylinderVolume[position -1] / cylinderVolume[position])**1.4 newCylinderTemperature = (cylinderTemperature[position -1] + 459.67) * (cylinderVolume[position -1] / cylinderVolume[position])**0.4 - 459.67 # add 1.0 BTUs of heat to the combustion chamber at TDC, which is position # 360 if position == 360: #calculate the new temperature print newCylinderTemperature deltaTemp = 1.0 / (airMass * Cv) newCylinderTempertature = newCylinderTemperature + deltaTemp print deltaTemp print newCylinderTemperature .... The output from this code is: 1357.65862978 <-- newCylinderTemperature when we enter the if statement 2626.04165688 <-- deltaTemp, as it should be 1357.65862978 <-- newCylinderTemperature at the end of the if statement, which HASN'T CHANGED. It should be 1357 + 2626 = 3983. Why doesn't it change ? Is there some sort of scope issue here ? -- http://mail.python.org/mailman/listinfo/python-list