挑战是:
- 如果n是奇数,请打印"怪异"
- 如果n是偶数,并且在2到5的包含范围内,请打印"不奇怪"
- 如果n是偶数,并且在6到20的范围内,请打印"怪异"
- 如果n是偶数并且大于20,则打印"不奇怪"
我的代码是:
<?php
$N=5;
if($N%2==0 && $N>20){
echo "Not Weird";
}else{
echo "Weird";
}
?>
问题是:
当我在当地车辙时,没关系。但是,当我将其提交给HackerBank时,他们在$N=5;
案例中测试失败。根据挑战,我的条件有什么问题吗?
<?php
$n=5;
if($n%2==1){
echo 'Weird';
}else{
if($n >= 2 && $n <= 5){
echo 'Not Weird';
}elseif($n > 5 && $n <= 20){
echo 'Weird';
}else{
echo 'Not Weird';
}
}
?>
我很惊讶它能在本地为您工作。不应该。你的"不奇怪"条件只适用于大于20的偶数。你没有包括任何涵盖特殊情况的条件(奇怪的是6、8、10等)。
一个可行的解决方案是:
<?php
if ($N%2 == 0 && ($N < 6 || $N > 20)) {
echo "Not Weird";
} else {
echo "Weird";
}
只有当数字为偶数,并且小于6或大于20时,第一个条件才会显示Not Weird。对于所有其他数字——奇数和偶数,从6到20,它显示怪异。