[QUOTE=matais]This does not successfully pass the test please, how do i make it pass without changing the test requirements?

You're given numbers. Compare the numbers. Otherwise you'll get '10' < '2' which is stupid. Thankfully, you forgot to include assignments so these statements are useless:

str(a)
str(b)

This is a tuple:
(1,"a string",any_object,)

tuples are immutable---great for sets and as dictionary keys.

In many cases python let's you construct tuples without the parentheses. I usually write them but you might therefor describe me as verbose. Whatever. For example,

x, y = y, x # swap the values of x and y

In
return a, 'is less than', b

constructs the tuple (a, 'is less than', b) then returns that tuple. The tuple does not display like a string. Your doctests fail.

Next you look up string formatting.

Code:

>>> str(1)+'X' # concatenation, note you'd be missing a space character to separate 1 from X
'1X'
>>> '%g X %g'%(a,b) # % string operator targeted for deprecation. Right hand argument must be a tuple.
>>> '{} X {}'.format(a,b) # possible future of string formatting. Simplest to use in the most common case.