【问题标题】:Comparison operators - if / else if statements比较运算符 - if / else if 语句
【发布时间】:2022-01-09 21:22:41
【问题描述】:

这个练习几年前已经在这里发布了 How to use comparison operators 但是提出的解决方案对我不起作用。

问题是:

在您右侧的编辑器中,您会找到一个名为 charmanderLevel 的变量, 将为其分配 1 到 100 之间的值。

使用 else if 语句打印到控制台 Charmander 对应那个经验等级。考虑其他 声明如果经验水平超过 100 应该打印 '喷火龙是最好的'。

这是一个图表,其中包含对应于每个级别的演变:

Charmander - 1 到 15 Charmeleon - 16 到 35 Charizard - 36 到 100"

解决办法是

var charmanderLevel = Math.ceil(Math.random() * 100);

if (charmanderLevel >= 1 && charmanderLevel <= 15) {
  console.log('Charmander');
} else if (charmanderLevel >= 16 && charmanderLevel <= 35) {
  console.log('Charmeleon');
} else if (charmanderLevel >= 36 && charmanderLevel <= 100) {
  console.log('Charizard');
} else {
  console.log('Charizard is as good as it gets');
}

我创造了完全相同的

var charmanderLevel = Math.ceil(Math.random() * 100);

if (charmanderLevel >= 1 && charmanderLevel <= 15) {
  console.log("Charmander");
} else if (charmanderLevel >= 16 && charmanderLevel <= 35) {
  console.log("Charmeleon");
} else if (charmanderLevel >= 36 && charmanderLevel <= 100) {
  console.log("Charizard");
} else {
  console.log('Charizard is good as it gets');
}

但我的控制台一直在说

“代码不正确你应该只在控制台打印 Charmander 进化级别,不要其他”。

他们建议我就此提出一个新问题,向你们中的一些人请教一些灯,为什么它对某些人有效而我的无效。

谢谢

【问题讨论】:

  • 您是否使用过一些工具来查看您的代码与示例(工作)代码之间的确切差异?您是否尝试在本地环境中运行代码以查看其实际输出?您在此处向我们展示的代码是提交到您用于检查的任何站点的代码的准确、完整和完整的复制粘贴吗?
  • 所以不是“字面意思”,我猜。 :) 投票结束是一个错字。
  • 我想我现在发现第一个级别必须在 0 而不是 1 上加注星标。谢谢
  • 两个代码 sn-ps 都不会显式处理charmanderLevel == 0 时的情况。并且charmanderLevel 永远不会等于或大于100(因为Math.random() 永远不会返回1)。所以这两种尝试都有缺陷。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: javascript if-statement conditional-statements


【解决方案1】:

我不得不使用文件比较器来查看细节。

如果等级 > 100,你的信息是“Charizard is good as it gets”,你错过了正确答案的小“as”。

这个answer 展示了如何在 vscode 中比较文件。

【讨论】:

  • 非常感谢。现在我能够找到另一个错误。
猜你喜欢
  • 2022-11-16
  • 1970-01-01
  • 2017-01-03
  • 1970-01-01
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 2019-04-09
相关资源
最近更新 更多