On 14/10/13 15:41, Sammy Cornet wrote:

. In which I´m want to get the user to prompt for the values of a and b.

So where is the code where you prompt the user and read input.
All we can see is a single function?


For some reason I can´t run it. The follwing is what I have written on
  my script:

def comparefunc (a, b):
     a = 3
     b = 4

The above assignments make your parameters useless since you have overwritten them This function effectively compares 3 and 4 only. As such the result will always return -1.

Having func as part of the name is usually considered a bad idea.
We can see its a function by the way we use it. The only time
having func in the name is useful is when you are passing it
as a parameter to another function or storing it in another
variable. But I suspect that's several learning steps away
from you just now.

     if a < b:
       return 1
     elif a == b:
       return 0
     elif a < b:
       return -1
     print "return"

This all looks OK except putting prints inside a function like this is usually only good as a debugging aid. You probably want to lose that once you have it working correctly.

And, this is what I get for my output:
 >>> ================================ RESTART
================================

That may be because you define the function but don't
seem to call it at any point.

You need to remove the two assignments for a and b
Then implement the get input calls to get the values
from the user then call the function and finally print
the result.

Something like this:

a = int(raw_input('gimme an a '))
b = int(raw_input('gimme a b '))

result = camparefunc(a,b)

print result


HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos

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

Reply via email to