We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.

LionelCote • 4 years ago

Bonjour,

Exercice 1, j'obtiens bien "SUCCÈS", mais aussi la mention: "La solution répond à la question mais il y a moyen de faire mieux."

Excepté pour $d, difficile de se tromper pour les 3 premières réponses...

Donc, sans donner la solution totale de l'exercice, j'ai proposé pour cette partie du test :

$d = array_map(function ($v) {return $v**2; }, range(0, 5));

Quel serait une solution plus efficace ?

Anonymous • 2 years ago

exercice 4:
$jour = 11;
$mois = 02;
$annee = 2020;

$res = checkdate($mois, $jour, $annee);

hakim • 3 years ago

Exercice 6 solution :

function check_form($data) {

$tab_valid = array(
"nom"=>"#^[A-Za-z -]*$#",
"prenom" => "#^[A-Za-z -]*$#",
"CP" => "#^[0-9]{4}$#",
"naissance" => "#(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)#",
"banque" => "#^BE[0-9]{2}( ?[0-9]{4}){3}$#");

$tab_result = array();
foreach($data as $data_key => $data_value)
{
if(preg_match($tab_valid[$data_key], $data_value))
{
$tab_result[$data_key] = array("valide" => 1, "message"=> "le champ $data_key est valide");
}
else
{
$tab_result[$data_key] = array("valide" => 0, "message"=> "le champ $data_key n'est pas valide");
}

}

foreach($tab_result as $tab_result_value)
{
if(in_array(0, $tab_result_value,true))
{
$tab_result["valide"]= 0;
break;
}
else
{
$tab_result["valide"]= 1;
}

}

return $tab_result;

}

NabilKarim • 3 years ago

exercice 4
$jour = 27;
$mois=11;
$annee = 20;
if($jour==date('d') && $mois==date('m') && $annee==date('y')){
$res =true;
}else{
$res=false;
}

Anonymous • 3 years ago

$res = checkdate($mois, $jour, $annee);

Sorel_bob • 2 years ago

Exercice 1:

NabilKarim • 3 years ago

exercice2
foreach($tab as $key=>$val){
echo"$key:$val\n";
}

Anonymous • 1 year ago

Exercice 3 :
Solution correcte mais refusée :
$var = !empty($var) ? 10 : $var ;

Alex_Alpha • 2 years ago

Exercice 5

if(array_key_exists($cle,$tableau))
{
$res = TRUE;
}
else
{
$res = FALSE;
}

Anonymous • 2 years ago

$res = array_key_exists($cle,$tableau);

c0pernic • 2 years ago

Bonjour pourquoi me prend t'il pas en réponse juste cette réponse ?
Alors que si mon ide aucune erreur avec le résultat demandé

foreach($tab as $keys => $value )
{
echo $keys .' : '.$value."\n";

}

MahdiZnaidi • 2 years ago

Exercice 7 :
function distance($x1,$y1,$x2,$y2) {
$x = $x2-$x1;
$y = $y2 - $y1;
return sqrt(pow($x, 2)+ pow($y,2));
}

Wikcy • 2 years ago

Solution Exercice 7 :

function distance($x1,$y1,$x2,$y2) {

$xs = $x2 - $x1;
$xs = $xs * $xs;

$ys = $y2 - $y1;
$ys = $ys * $ys;

return sqrt( $xs + $ys );

mouradASELTI • 3 years ago

$mois="2";
$jour="29";
$annee ="2019";
$res = checkdate ($mois, $jour, $annee);
if($res)
{
return true;
echo "la date est correcte Le ".$jours.",".$mois.",".$annee;
}
return false;

NabilKarim • 3 years ago

exercice 3
$var = empty($var) ? 10 : $var ;

Anonymous • 2 years ago

shorter form can be :

$var ?? 10

NabilKarim • 3 years ago

exercice 5

if (in_array($cle, array_keys($tableau))) {

$res=true;

}else{

$res=false;

}

Hanane_Kac • 4 years ago

Exercice 3, j ai mis comme réponse

j'ai success comme résultat mais on m'indique que 'La solution répond à la question mais une alternative ternaire est encore mieux adaptée' qlq'un peut me dire quel est la meilleure solution ?

Kokosaaap • 4 years ago

hello, tu peux faire ça : $var = (empty($var)) ? 10 : $var);

abazada • 3 years ago

$var = $var ?? 10;

La solution la plus simple à mon avis :)
mais CodinGame préfère l'alternative ternaire... ;( ???

LionelCote • 4 years ago

[Resolved - Nombres premiers - Exo 9]

Bonjour, un drôle se cas:

Ma solution semble correcte, mais le bouton 'Exo suivant' reste inactif...

https://prnt.sc/sn9yd5

Une idée pour avoir la suite...?

=> C'est le dernier de la série!

LionelCote • 4 years ago

[Exo 6] Champs naissance

Réponse obtenue:
Oops!
Les données (2) devrait être considéré comme invalide
Données (2): Information mal vérifiée pour naissance
Données (3): Information mal vérifiée pour naissance
Try Again 🐞

Où est l'erreur pour naissance, alors que c'est le même process utilisé (Usage du regex fourni) appliqué pour chaque cas (Exept CP)...?

function check_form($data)
{
$cvs = [
'nom' => '#^[A-Za-z -]*$#',
'prenom' => '#^[A-Za-z -]*$#',
'naissance' => '#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,4}$#',
'banque' => '#^BE[0-9]{2}( ?[0-9]{4}){3}$#',
];

foreach ($cvs as $cv => $kcv) {
$v[$cv]['valide'] = (bool) preg_match($kcv, $data[$cv]);
$v[$cv]['message'] = ($v[$cv]['valide']) ? ucfirst($cv).' est valide' : false;
}
$v['CP']['valide'] = (bool) ($data['CP'] > 999 && $data['CP'] < 1e4);
$v['CP']['message'] = ($v['CP']['valide']) ? 'CP est valide' : false;

$cvs['CP'] = '';
$v['valide'] =1;
foreach ($cvs as $kcv => $cv) {
$v['valide'] *= $v[$kcv]['valide'];
}

return $v;
}

SlidMax • 3 years ago

Pour la date de naissance la regex ne suffit pas, il faut vérifier que l'on a une date valide (ex : on n'accepte pas le jour 32).

Pangrolin • 5 years ago

Chut

sachaamm • 5 years ago

L'exercice 4 me rend fou, j'ai tout essayé, envoyez la solution SVP. personnellement j'ai essayé :
$res = TRUE;
$date = new DateTime(''.$annee.'-'.$mois.'-'.$jour.'');
if (!$date) $res = FALSE;

et aussi dans un try catch mais il me met failure. si je mets un try le bloc catch crée un bug, si j'en mets pas ca crée un bug aussi. du coup je ne peux pas vérifier directement, je peux donc pas appeler les fonctions natives de date ????????????
Je me tape aussi des erreurs comme ceci, j'ai l'impression que l'exercice est buggé, sinon expliquez moi svp :

DateTime::__construct(): Failed to parse time string (2018-13-32) at position 6 (3): Unexpected characterTECHIO> success false

Pourquoi Unexpected characterTECHIO> success false ??????? ( pareil si j'utilise la fonction print )

Bigsony • 5 years ago

Une possible solution:
$res = checkdate ($mois, $jour, $annee);

peanuts971 • 5 years ago

Bonjour,

Je me permet de laisser ce commentaire car je rencontre plusieurs soucis au niveau de l'exercice 6 sur les bases du PHP. Tout d'abord, j'ai eu plusieurs messages d'erreurs que vous trouverez ci-dessous :

https://uploads.disquscdn.c...
https://uploads.disquscdn.c...

Ensuite au niveau de la compréhension de l'énoncé sur la dernière partie concernant le tableau associatif à faire retourner par la fonction. J'ai un souci au niveau de cette partie. En effet, j'ai bien créé un tableau associatif qui se présente de la manière suivante :

$retour = array(
"valide" => TRUE,
"nom" => TRUE,
"prenom" => TRUE,
"CP" => TRUE,
"naissance" => TRUE,
"banque" => TRUE
);

Pour lequel ensuite je fais un return $retour. Mais cependant au niveau de la console, j'ai toujours le message suivant :

Données (1): Information manquante pour nom
Données (1): Information manquante pour prenom
Données (1): Information manquante pour CP
Données (1): Information manquante pour naissance
Données (1): Information manquante pour banque
Données (2): Information manquante pour nom
Données (2): Information manquante pour prenom
Données (2): Information manquante pour CP
Données (2): Information manquante pour naissance
Données (2): Information manquante pour banque
Données (3): Information manquante pour nom
Données (3): Information manquante pour prenom
Données (3): Information manquante pour CP
Données (3): Information manquante pour naissance
Données (3): Information manquante pour banque
Try Again 🐞

J'aimerai avoir vos lumières sur la manière de faire le retour de la fonction correctement. En vous remerciant par avance,

Cordialement,

Brichard • 5 years ago

Bonjour,
la résultat de retour doit etre comme ce format ci-dessous.

$retour = Array
(
[nom] => Array
(
[valide] => 1
[message] => nom est valide
)

[prenom] => Array
(
[valide] => 1
[message] => prenom est valide
)

[banque] => Array
(
[valide] => 1
[message] => banque est valide
)

[naissance] => Array
(
[valide] => 1
[message] => naissance est valide
)

[CP] => Array
(
[valide] => 1
[message] => CP est valide
)

[valide] => 1
)

Cordialement,