Привет, ребята, я пытался повторить это с помощью PHP
четный нечетный нечетный четный нечетный нечетный
и так далее .
Мой код:
For( $i = 0 ; $i <=11; $i++ ){
If( $i % 2 == 0 ) {
echo " even " ;
}
If( $i % 2 != 0 ) {
echo " odd " ;
$i = $i+1 ;
}
}
И уверен, что результат:
четный странный странный странный
и так далее .
Я хотел повторить (четный) один раз и (нечетный) дважды и так далее ..
Может ли кто-нибудь помочь мне в этом? Спасибо
Ты можешь использовать%
оператор.
Где любой счетчик, который точно делится на 3
четный, другой случай odd
,
Ответ:
for ($i=0 ; $i<=11 ; ++$i) {
if ($i%3==0) {
echo "Even";
}
else {
echo "Odd";
}
}
Ручной запуск:
$i - $i%3 - Output
--------------------
0 - 0 - Even
1 - 1 - Odd
2 - 2 - Odd
3 - 0 - Even
4 - 1 - Odd
5 - 2 - Odd
6 - 0 - Even
7 - 1 - Odd
8 - 2 - Odd
9 - 0 - Even
10 - 1 - Odd
11 - 2 - Odd
РЕДАКТИРОВАТЬ: Используя троичный оператор, вы даже можете сократить количество строк кода.
Сокращенный код:
for ($i=0 ; $i<=11 ; ++$i) {
echo ($i%3==0) ? 'Even' : 'Odd';
}
В этом случае вы можете просто использовать modulo 3
вместо 2
с if
—else
заявление
for ($i = 0; $i < 11; $i++) {
if ($i % 3 == 0) {
echo 'even ';
} else {
echo 'odd ';
}
}
Я не уверен, что вам нужно желаемое поведение использования% 3, как это предлагают другие (даже если он дает вам желаемый результат), но я не уверен, что вы получите тот же «счет». Поэтому я просто скажу, почему бы вам просто не написать «нечетно» в своем эхо-заявлении дважды?
for( $i = 0 ; $i <=11; $i++ ){
if( $i % 2 == 0 ) {
echo " even " ;
}else {
echo " odd odd ";
}
}
Если бы вы могли помочь нам понять, почему вы хотите дважды напечатать нечетные числа на нечетных числах, которые могли бы помочь? Или это не имеет значения, если i
является четным или нечетным сам по себе, но является только результатом, к которому вы стремитесь (как предложено с использованием% 3).