首页 > 解决方案 > 如何改进我的代码,为什么它不运行?

问题描述

此代码用于获取从 0 到 100 的数字分数并打印成绩。

这是针对学校的,使用的是网站“codehs.com”中的简化版 javascript 我已经坚持了一段时间,我想帮助修复我的代码。

/* This code is meant to take a number score from 0 to 100 and print 
the grade. */

function start(){

 /*given list */

lettergrade(100);
lettergrade(83);
lettergrade(68);
lettergrade(91);
lettergrade(47);
lettergrade(79);
}
/* this will print the grades above by using If/else if statements */
function lettergrade(score){

if(score = 90-100){
return("A");
}
else if(score = 80-90){
return("B");
}
else if(score = 70-79){
return("C");
}
else if(score = 60-69){
return("D");
}
else if(score = 0-59){
return("F");
   }
}

预期结果是打印字母等级、AF 和 +/- 符号(如果需要),但代码不运行。

标签: javascript

解决方案


您的代码有多个地方错误:

  • lettergrade(100)是错误的,因为您的函数定义为letterGradeJS 中区分大小写

  • if(score = 90-99)是错误的,因为if语句期待表达式,您可以选择使用==or ===。单个等号=用于赋值,而不是用于比较。并且90-99是错误的,那是计算而不是范围。正确的方法应该是if(score >= 90 && score <= 99)

/* this will print the grades above by using If/else if statements */
function letterGrade(score){

if(score >= 90 && score <= 99){
  return("A");
}
else if(score >= 80 && score < 90){
  return("B");
}
else if(score >= 70 && score < 80){
  return("C");
}
else if(score >= 60 && score < 70){
  return("D");
}
else if(score >= 0 && score < 60){
  return("F");
}
  }

function start(){

 /*given list */

console.log(letterGrade(100));
console.log(letterGrade(83));
console.log(letterGrade(68));
console.log(letterGrade(91));
console.log(letterGrade(47));
console.log(letterGrade(79));
}



start();


推荐阅读