Source: Scratch Wiki en français


Le bloc « (position de [] dans [ v]) »


(position de [] dans [ v])

(position de [] dans [ v])

Catégorie : Listes
Type : Bloc de valeur
Ajouté dans : Scratch 3.0
Entrées : 2 (entrée texte et menu déroulant)
Code du bloc :
(position de [] dans [ v])

Description

Ce bloc renvoie le numéro de la première occurrence d'un élément dans une liste. Il ne précise pas si l'élément apparait plusieurs fois. Si l'élément n'est pas présent dans la liste, le bloc renvoie la valeur 0.

Info
 Info :
Bien qu'étant un bloc de valeur (représenté par un rectangle aux bords arrondis), ce bloc peut être placé dans une entrée booléenne de forme hexagonale.

Utilisé comme entrée booléenne, il se comporte un peu comme le bloc <[ v] contient () ?> avec un petit avantage. Là où ce dernier ne renvoie que "True" ou "False", le bloc va renvoyer "False" si l'élément recherché dans la liste ne s'y trouve pas mais va renvoyer le numéro de sa position s'il s'y trouve.

Exemples

  • S'utilise fréquemment pour lier les valeurs de deux listes

Dans le cas ci-dessus (élément(position de [pantalon] dans (Liste2 v)) de (Liste v)) renverra "Rouge".

  • Utilisation comme entrée booléenne
si (position de (nom d'utilisateur) dans (HighScore v)) alors
dire (regrouper [Bravo ! Vous êtes en position ] et (position de (nom d'utilisateur) dans (HighScore v)))
sinon
dire [Hélas, vous ne figurez pas dans le classement des meilleurs.]
fin

Alternatives

  • Vérifier un par un tous les éléments d'une liste en commençant par le début grâce à un bloc personnalisé :
définir recherche position d'(élément) dans liste
mettre (position) à (0)
mettre (compteur) à (1)
répéter jusqu'à ce que <<(compteur) > (longueur de [liste v])> ou <non <(position) = [0]>>>
si <(élément (compteur) de (liste v)) = (élément)> alors
mettre (position) à (compteur)
sinon
ajouter (1) à (compteur)
fin
fin

Sur les forums

Sur les forums de Scratch, vous pouvez intégrer des blocs Scratch grâce au BBCode. Voici le code nécessaire pour insérer ce bloc :

(position de [] dans [ v])

Ce qui donnera :

(position de [] dans [ v])
Info
 Info :
N'oubliez pas que le script devra être entouré des balises
[scratchblocks]
et
[/scratchblocks]
pour être affiché en tant que bloc dans le message.
Voir les blocs du forum pour plus d'informations.

Autre

Info
 Info :
Depuis le 28 juin 2023, il existe une version à contraste élevé de ce bloc, dont voici l'apparence : (position de [] dans [ v])

Voir aussi

Ce bloc fait partie de la catégorie des blocs de données :: variables
Tous les blocs de cette catégorie :