Es que este es un error de lógica, no de programación.
Mira he aquí por que "falla", para mi funciona bien por que no se que es lo que te debería dar.
Código Python:
Ver originalppc = 12
ppv = 8
cm1 = 6
cm2 = 2
tot5m = cm1 + cm2 #6 + 2 = 8
print tot5m #Imprime 8
if tot5m < 0: #tot5m < 0, 8 < 0, False
ppv = (ppv + tot5m) / 2 #(8 + 8) / 2, (16) / 2, 8; Por aqui no pasa
else:
ppc = (ppc + tot5m) / 2 #(12 + 8) / 2, (20) / 2, 10; Por aqui si pasa
print ppc #Imprime 10
print ppv #Imprime 8