编写一个javascript程序,显示从10到100的数字。但是对于4的打印“Penny”而不是数字的倍数和6的打印“Leonard”的倍数。对于4和6的倍数的数字打印“Bazzinga”
我知道如何做两部分努力打印6和4;
function baZzinga (number) {
for (var number = 10; number <= 101; number++)
if(number % 4 == 0) {
console.log("penny");
}
else if (number % 6 == 0) {
console.log("Leonard");
} else if ( not sure what goes here) {
help help help
} else {
console.log(number");
}
答案 0 :(得分:0)
You want the and condition first. Try this
var result = document.getElementById("result");
function baZzinga (number) {
for (var number = 10; number <= 101; number++) {
if (number % 4 == 0 && number % 6 == 0) {
result.innerHTML += "Bazinga";
}
else if(number % 4 == 0) {
result.innerHTML += "penny";
}
else if (number % 6 == 0) {
result.innerHTML += "Leonard";
}
else {
result.innerHTML += number;
}
}
}
baZzinga()
<p id="result"></p>
I changed console.log to result.innerHTML because I wanted to demonstrate it in a snippet.
答案 1 :(得分:0)
我对你的代码有一些评论 - 建设性的批评,我希望!首先,您不需要number
函数中的bazzinga
参数。接下来,您发布的代码缩进使其难以阅读。最后,您几乎应该始终使用===
而不是==
。 ===
测试严格相等,而==
尝试首先进行某些类型转换(因此可能产生意外结果)。请参阅the official docs。
回答你的问题:首先检查6和8的可分性。这样,它将覆盖个别情况。我相信你想要这样的东西:
function bazzinga() {
for (var number = 10; number <= 100; number++) {
if (number % 4 === 0 && number % 6 === 0) {
console.log("Bazzinga");
} else if (number % 4 === 0) {
console.log("Penny");
} else if (number % 6 === 0) {
console.log("Leonard");
}
}
}
答案 2 :(得分:0)
以下是使用您发布的格式的解决方案:
for (var number = 10; number <= 100; number++) {
if(number % 4 === 0 && number % 6 === 0){
console.log("bazzinga");
} else if(number % 4 === 0) {
console.log("penny");
} else if (number % 6 === 0) {
console.log("Leonard");
} else {
console.log(number);
}
}
或者使用三元运算符更简洁!
for (var i = 10; i <= 100; i++){
var penny = i % 4 === 0;
var leonard = i % 6 === 0;
console.log(penny ? (leonard ? "bazzinga" : "penny"): leonard ? "leonard" : i);
}
答案 3 :(得分:0)
function process_num(num) {
return num % 4 == 0 ? num % 6 == 0 ? "Bazzinga" : "Penny" : num % 6 == 0 ? "Leonard" : num;
}
for (x = 10; x <= 100; x++) { console.log( x + ': is ', process_num(x)) }
嵌套三元运算符的简洁性
如果它通过外部三元测试,它可以被4整除:
如果没有外部三元条件,我们就知道它不能被4整除:
现在逻辑包含在函数中,我们可以创建一个for循环来迭代所需的数字,打印出正确的值。