Section 8 Error


#1


Hello! I cannot for the life of me figure out where the error is in this code. Please help me out :slight_smile:
-Brian


https://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/1/4?curriculum_id=506324b3a7dffd00020bf661


It says there is a problem with the syntax and "SyntaxError: expected expression, got keyword 'else'"


var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
    computerChoice = "rock";
} else if(computerChoice <= 0.67) {
    computerChoice = "paper";
} else {
    computerChoice = "scissors";
} console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
if (choice1 === choice2) {
    return "The result is a tie!";
    }
    else if (choice1 === "rock") {
        if (choice2 === "scissors") {
            return "rock wins"
        } 
        else {
            return "paper wins"
        }
    }
    else if (choice1 === "paper") {
        if (choice2 === "rock") 
            return "paper wins"
    }
        else {
            return "scissors wins"
        }
    }
    else if (choice1 === "scissors") {
        if (choice2 === "rock")
            return "rock wins"
    }
        else (choice2 === "paper") {
            return "scissors wins";
        }
     }       
};

compare(userChoice, computerChoice);


#2

Check the syntax of all the if statements in your compare function. There are missing curly brackets.


#3

Thanks. I looked through and I think it's correct, but I'm getting "SyntaxError: Missing before statement"

var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
if (choice1 === choice2) {
return "The result is a tie!";
}
else if (choice1 === "rock") {
if (choice2 === "scissors") {
return "rock wins"
}
else {
return "paper wins"
}
}
else if (choice1 === "paper") {
if (choice2 === "rock") {
return "paper wins"
}
else {
return "scissors wins"
}
}
else if (choice1 === "scissors") {
if (choice2 === "rock") {
return "rock wins"
}
else (choice2 === "paper") {
return "scissors wins";
}
}
}

compare(userChoice, computerChoice);


#4

Else statements don't take a condition. They just execute if the prior if/else if conditions haven't been met.


#5

oh lord, thank you! solved


#6

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.