That means no value was returned. Look at your find_discount() function. You've set what discount should be on all occasions, but you only return on one occasion! You need to move it back so it returns after all the if and else statements.
Here's how it should be.
def find_discount(total):
if total <120: #Check for this
discount = 0 #It's True! Skip the else: statement.
else: #Above is not true, execute this block of code
if total <300: #You get the picture..
discount = 0.03*total
else:
if total <500:
discount = 0.05*total
else:
discount = 0.07*total
#All checks are done, so return
return discount
Also, line 39 needs to be: print "The total is " + str(discounted_total)
This makes it a string. You must do this because your discounted total is a float, and you can't add letters and numbers.