Test your skills: Conditionals

The aim of this skill test is to help you assess whether you've understood our Making decisions in your code — conditionals article.

Note: To get help, read our Test your skills usage guide. You can also reach out to us using one of our communication channels.

Conditionals 1

In this task you are provided with two variables:

To complete the task:

  1. Create a conditional that checks whether season contains the string "summer", and if so assigns a string to response that gives the user an appropriate message about the season. If not, it should assign a generic string to response that tells the user we don't know what season it is.
  2. Add another conditional that checks whether season contains the string "winter", and again assigns an appropriate string to response.

The starting point of the task looks like this (nothing is shown yet):

Here's the underlying code for this starting point:

js
let season = "summer";
let response;

// Add your code here

// Don't edit the code below here!

const section = document.querySelector("section");
const para1 = document.createElement("p");
para1.textContent = response;
section.appendChild(para1);

The initial state of your updated output should look like this:

Click here to show the solution

Your finished JavaScript should look something like this:

js
let season = "summer";
let response;

if (season === "summer") {
  response = "It's probably nice and warm where you are; enjoy the sun!";
} else if (season === "winter") {
  response = "I hope you are not too cold. Put some warm clothes on!";
} else {
  response =
    "I don't know what the season is where you are. Hope you are well.";
}

// Don't edit the code below here!
// ...

Conditionals 2

For this task you are given three variables:

To complete the task:

  1. Create an if...else structure that checks whether the machine is switched on and puts a message into the response variable if it isn't, telling the user to switch the machine on.
  2. Inside the first if...else, nest another if...else that puts appropriate messages into the response variable depending on what the value of score is — if the machine is turned on. The different conditional tests (and resulting responses) are as follows:

After you've entered your code, try changing machineActive to true, and score to a few different values to see if it works. Please note that, for the scope of this exercise, the Your score is __ string will remain on the screen regardless of the machineActive variable's value.

The starting point of the task looks like this:

Here's the underlying code for this starting point:

js
let response;
let score = 75;
let machineActive = false;

// Add your code here

// Don't edit the code below here!

const section = document.querySelector("section");
const para1 = document.createElement("p");
const para2 = document.createElement("p");
para1.textContent = `Your score is ${score}`;
para2.textContent = response;
section.appendChild(para1);
section.appendChild(para2);

The initial state of your updated output should look like this:

Click here to show the solution

Your finished JavaScript should look something like this:

js
let response;
let score = 75;
let machineActive = false;

if (machineActive) {
  if (score < 0 || score > 100) {
    response = "This is not possible, an error has occurred.";
  } else if (score >= 0 && score < 20) {
    response = "That was a terrible score — total fail!";
  } else if (score >= 20 && score < 40) {
    response =
      "You know some things, but it's a pretty bad score. Needs improvement.";
  } else if (score >= 40 && score < 70) {
    response = "You did a passable job, not bad!";
  } else if (score >= 70 && score < 90) {
    response = "That's a great score, you really know your stuff.";
  } else if (score >= 90 && score <= 100) {
    response = "What an amazing score! Did you cheat? Are you for real?";
  }
} else {
  response = "The machine is turned off. Turn it on to process your score.";
}

// Don't edit the code below here!
// ...

Conditionals 3

For the final task you are given four variables:

To complete the task:

  1. Create an if...else structure that checks whether the machine is switched on and puts a message into the machineResult variable telling the user whether it is on or off.
  2. If the machine is on, we also want a second conditional to run that checks whether the pwd is equal to cheese. If so, it should assign a string to pwdResult telling the user they logged in successfully. If not, it should assign a different string to pwdResult telling the user their login attempt was not successful. We'd like you to do this in a single line, using something that isn't an if...else structure.

The starting point of the task looks like this (nothing is shown yet):

Here's the underlying code for this starting point:

js
let machineActive = true;
let pwd = "cheese";

let machineResult;
let pwdResult;

// Add your code here

// Don't edit the code below here!

const section = document.querySelector("section");
const para1 = document.createElement("p");
const para2 = document.createElement("p");
para1.textContent = machineResult;
para2.textContent = pwdResult;
section.appendChild(para1);
section.appendChild(para2);

The updated output should look like this:

Click here to show the solution

Your finished JavaScript should look something like this:

js
let machineActive = true;
let pwd = "cheese";

let machineResult;
let pwdResult;

if (machineActive) {
  machineResult = "Machine is active. Trying login.";
  pwdResult =
    pwd === "cheese"
      ? "Login successful."
      : "Password incorrect; login failed.";
} else {
  machineResult = "Machine is inactive. Activate and try logging in again.";
}

// Don't edit the code below here!
// ...