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 trialSean Flanagan
33,235 PointsWhy won't my code run?
Hi.
My code won't execute.
Here's a snapshot of my workspace.
Thanks in advance.
Sean
5 Answers
paulscanlon
Courses Plus Student 26,735 PointsHello again
Try this
question5.toUpperCase() === "PYTHON"
Instead of this
question5.toUpperCase() === "Python"
You made the same mistake with the ruby question, but the html and css were in uppercase thats why they worked.
If you are converting an answer to uppercase. The answer that it matches must be uppercase aswell.
Hope i'm clear, I suck at explaining things lol.
Paul
paulscanlon
Courses Plus Student 26,735 PointsHey Sean
You have a slight syntax error with regards to your concatenation.
if (numOfRightAnswers === 5) {
document.write("Congratulations on getting " + numOfRightAnswers + " right. | Gold Crown!");
} else if (numOfRightAnswers === 4 || numOfRightAnswers === 3) {
document.write("Congratulations on getting " + numOfRightAnswers + " right. | Silver Crown!");
} else if (numOfRightAnswers === 2 || numOfRightAnswers === 1) {
document.write("Congratulations on getting " + numOfRightAnswers + " right. | Bronze Crown!");
} else {
document.write("Sorry, you got " + numOfRightAnswers + " right. No crown for you.");
}
You missed the + in between numOfRightAnswers and the rest of your text.
Hope this helps. Let me know if you need any more help
Happy coding
Paul
paulscanlon
Courses Plus Student 26,735 PointsJust to add....Your first port of call for errors in JS is usually the console in your browser. Any syntax errors etc get thrown straight away.
Cheers Paul
Steven Parker
231,269 PointsYou're doing some string concatenation on lines 61, 63 and 65, but in each case, there's a missing operator ("+") between "numOfRightAnswers" and the string that follows it.
Also, I noticed you are upper-casing your literal strings and not the user input, so a question is only counted right if the user enters it in all upper case. If you wanted to make the answer case-insensitive, you could uppercase the input instead and just have the answers stored in upper case:
if (question1 === "html".toUpperCase() || // so instead of this
if (question1.toUpperCase() === "HTML" || // you might do THIS
Sean Flanagan
33,235 PointsHi Paul, Steven. Thanks for your help.
I've edited the code but it still doesn't work right. The last two questions I answer right and it tells me I'm wrong.
New snapshot:
Sean
Steven Parker
231,269 PointsYou still need to make the changes I mentioned regarding storing the answers in upper case. Converting the input to upper case but then matching it against mixed-case strings will always fail.
Sean Flanagan
33,235 PointsHi guys. That worked a treat.
Thank you both.
Sean :-)