Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialTaylor Perry
2,968 PointsChange the response to multiply the two arguments and return their product
It keeps telling me that 25 is being returned when they pass in /multiply/2.5/5. I had to set num1 and num2 to default values of 5 for a previous task, but I'm not sure why those values aren't being overrided when the new values are being passed into the URL.
from flask import Flask
app = Flask(__name__)
@app.route('/multiply')
@app.route('/multiply/<int:num1>/<int:num2>')
@app.route('/multiply/<int:num1>/<float:num2>')
@app.route('/multiply/<float:num1>/<int:num2>')
@app.route('/multiply/<float:num1>/<float:num2>')
def multiply(num1=5, num2=5):
multiply = 5*5
return str(multiply)
return "{} * {} = {}".format(num1, num2, num1*num2)
return "{}".format(num1*num2)
1 Answer
Wade Williams
24,476 PointsYou have multiple return statements and you're always returning the variable multiply first which is 5 * 5. You need to change this line to multiply the function variables and you can remove the other return statements.
multiply = num1 * num2
return str(multiply)