On 07/10/2013 05:05 PM, s...@luo.to wrote:
def printMax(a, b):
    if a > b:
        print(a, 'is maximum')
    elif a == b:
        print(a, 'is equal to', b)
    else:
        print(b, 'is maximum')
printMax(3, 4) # directly give literal values
x = 5
y = 7
printMax(x, y) # give variables as arguments



How the code above values to:

4 is maximum
7 is maximum

and not to:

5 is maximum
7 is maximum

This is going a little over my head, please advice, what am I missing in
here?



You're calling the function twice, and two lines are printed out. You're questioning why the first time it prints "5 is maximum."

The arguments to the function the first time are 3 and 4. The larger of those is 4. How would it manage to come up with a 5 for that call?

Perhaps you'd see it easier if you temporarily added another print at the beginning of printMax():

def printMax(a, b):
    print("Comparing %d to %d" % a, b)
    if a > b:
  .......




--
DaveA

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to