Cadbury problem solution in Python
I made it a little shorter:
The logic is also little more simple.

def TotalCount(M,N,P,Q):
    count=0
    for l in range(M,N+1):
        for b in range(P,Q+1):
            count +=CountPerChocolateBar(l,b)
    return count


Your cadbury function stayed almost the same. But your version has a bug: if the difference between M and N, or P and Q is not one (in your example it was one), your code fails:

a = 7
b = 10
for element in [a,b]:
  print (element)


result is 7, 10 . NOT the expected 7,8,9,10

def CountPerChocolateBar(l,b):

  count = 0
  while True:
      longerr=max(l,b)
      shorterr=min(l,b)
      count+=1
      diff=longer-shorter
      if diff==0:
        return count
      else :
        l=min(l,b)
        b=diff


Your call function can be simplified a little:
you can handle l>b ,b>l without branches, because it doesn't matter which one is bigger. You count the difference, increase the count variable, and based on the difference you return the count number or calculate the new b and l values. When the difference is 0, the while loop ends with the return statement

while True:

    numbers=raw_input("Number: ")

    M=int(numbers.split()[0])
    N=int(numbers.split()[1])
    P=int(numbers.split()[2])
    Q=int(numbers.split()[3])
    tc=TotalCount(M,N,P,Q)

    print (tc)


You can test my solution with this little loop. :)