技能测试:条件语句

本次技能测试旨在帮助您评估是否已理解我们的代码中的决策 — 条件语句文章。

注意: 如需帮助,请阅读我们的“技能测试”使用指南。您也可以通过我们的沟通渠道与我们联系。

条件语句 1

在此任务中,您将获得两个变量

  • season — 包含一个字符串,说明当前是什么季节。
  • response — 最初未初始化,但之后用于存储一个将打印到输出面板的响应。

完成任务

  1. 创建一个条件语句,检查 season 是否包含字符串 "summer",如果是,则为 response 赋值一个字符串,向用户显示关于该季节的恰当消息。如果不是,则应为 response 赋值一个通用字符串,告知用户我们不知道现在是什么季节。
  2. 添加另一个条件语句,检查 season 是否包含字符串 "winter",并再次为 response 赋一个恰当的字符串。
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);
点击此处显示解决方案

你完成的 JavaScript 应该看起来像这样

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!
// ...

条件语句 2

此任务提供三个变量

  • machineActive:包含一个指示器,说明答题机是否已开启(true/false)。
  • score:包含您在一场虚拟游戏中的得分。此分数将输入答题机,答题机会根据分数提供一个响应,表明您表现如何。
  • response:最初未初始化,但之后用于存储一个将打印到输出面板的响应。

完成任务

  1. 创建一个 if...else 结构,检查机器是否开启,如果没有开启,则向 response 变量中放入一条消息,告知用户开启机器。
  2. 在第一个 if...else 结构内,嵌套另一个 if...else 结构,根据 score 的值向 response 变量中放入恰当的消息 — 如果机器已开启。不同的条件测试(及由此产生的响应)如下:
    • 分数低于 0 或高于 100 — "这不可能,发生错误了。"
    • 分数 0 到 19 — "这分数太糟糕了 — 完全不及格!"
    • 分数 20 到 39 — "你懂一些东西,但分数很糟糕。需要改进。"
    • 分数 40 到 69 — "你做得还可以,不算差!"
    • 分数 70 到 89 — "这是个很高的分数,你真的很懂。"
    • 分数 90 到 100 — "真是个惊人的分数!你作弊了吗?你是认真的吗?"

输入代码后,尝试将 machineActive 更改为 true,并将 score 更改为几个不同的值,看看它是否有效。请注意,在此练习的范围内,无论 machineActive 变量的值如何,Your score is __ 字符串将一直显示在屏幕上。

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);
点击此处显示解决方案

你完成的 JavaScript 应该看起来像这样

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!
// ...

条件语句 3

最后一部分任务提供四个变量

  • machineActive:包含一个指示器,说明登录机是否已开启(true/false)。
  • pwd:包含用户的登录密码。
  • machineResult:最初未初始化,但之后用于存储一个将打印到输出面板的响应,告知用户机器是否已开启。
  • pwdResult:最初未初始化,但之后用于存储一个将打印到输出面板的响应,告知用户其登录尝试是否成功。

完成任务

  1. 创建一个 if...else 结构,检查机器是否开启,并在 machineResult 变量中放入一条消息,告知用户机器是开启还是关闭。
  2. 如果机器已开启,我们还希望运行第二个条件语句,检查 pwd 是否等于 cheese。如果是,则应为 pwdResult 赋值一个字符串,告知用户其已成功登录。如果不是,则应为 pwdResult 赋值一个不同的字符串,告知用户其登录尝试不成功。我们希望您在一行中完成此操作,使用非 if...else 结构。
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);
点击此处显示解决方案

你完成的 JavaScript 应该看起来像这样

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!
// ...