De Scratch Wiki en français


Le bloc « <[ v] contient () ?> »


<[ v] contient () ?>

<[ v] contient () ?>

Catégorie : Listes
Type : Bloc booléen
Ajouté dans : Scratch 1.0
Entrées : 1 (Entrée nombre)
Code du bloc : <[ v] contient () ?>

Description

Ce bloc renvoie "True" (vrai) si l'élément inséré (par défaut "thing") fait partie de la liste choisie, et "False" (faux) si ce n'est pas le cas.
Ce bloc prend ainsi deux entrées : un menu déroulant listant toutes les entrées créées, et une entrée texte prenant pour valeur l'élément à chercher.

Info
 Info :
Comme tous les blocs de cette forme, il est principalement utilisé dans les blocs si <> alors, attendre jusqu'à ce que <> et répéter jusqu'à ce que <> (qui sont expliqués dans la catégorie des "blocs de contrôle)". Il peut aussi être utilisé dans les blocs d'opérateurs logiques <> = <>, <> \< <> et <> \> <>. Enfin, il est possible (mais très rarement) de l'utiliser comme un bloc de valeur (qui renvoie un nombre). Il vaudra alors "0" si la condition est fausse et "1" si la condition est vraie.

Exemples

  • Ce bloc permet de vérifier si un élément appartient déjà à une liste créée, pour éventuellement l'ajouter ensuite :
demander [Que souhaitez-vous ajouter à la liste de courses ?] et attendre
si <[liste de courses v] contient (réponse) ?> alors
dire (regrouper (regrouper [Ce produit (] et (réponse)) et [) est déjà dans la liste de courses !]
sinon
ajouter (réponse) à [liste de courses v]::list
dire (regrouper (regrouper [Ça y est, j'ai ajouté ] et (réponse)) et [ à la liste de courses !])
end
  • Sinon ce bloc peut servir à pas mal de choses, par exemple :
si <[liste v] contient [blablabla] ?> alors
ajouter (longueur de [liste v]) à [variable v]::variables
basculer sur le costume [costume2 v]
arrêter tous les sons
end

Alternatives

Il existe deux alternatives :

  • On peut définir un bloc semblable personnalisé :
définir liste (liste) contient (texte)
mettre [compteur v] à (1)
répéter (longueur de (liste)::list) fois
si <(élément (compteur::variables) de (liste)) = (texte)> alors
envoyer à tous (true v)
sinon
ajouter (1) à [compteur v]::variables
fin
fin
envoyer à tous (false v)
  • On peut utiliser le bloc (position de [] dans [ v]) : 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.

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 :

<[ v] contient () ?>

Ce qui donnera :

<[ v] contient () ?>
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

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