De 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 : 1, Entrée texte
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 arrondi), 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 0 ou 1, le bloc va renvoyer 0 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 «bleu».

  • Utilisation comme entrée booléenne
si (position de [Théo_1er] dans (HighScore v)) alors
dire (regrouper [Bravo ! Vous êtes en position ] et (position de [Théo_1er] 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

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'information.

Voir aussi

Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies.