Coding for KidsCoding for Kids
Niveaux CréatifsDéfisGuide de l'Enseignant
Voter pour les fonctionnalités
Cours avancé de développement Python
Chapitre
>
Niveau

Fonctions Avancées
Fonctions à arguments variables

Objectif

Récupérez tous les produits consommables à l'intérieur de l'entrepôt et emballez-les dans des conteneurs de stockage en utilisant des fonctions à arguments variables.

Il y a plusieurs denrées alimentaires situées dans un entrepôt qui doivent être emballées pour être expédiées et vendues. Pour ce faire de manière efficace, vous pouvez créer des fonctions personnalisées avec un nombre variable d'arguments. Il s'agit de fonctions ne comportant pas un nombre prédéfini d'arguments, ce qui vous permet de fournir autant d'arguments que nécessaire pour exécuter les actions de la fonction.

Il existe deux (2) manières d'ajouter un nombre variable d'arguments à une fonction, selon ce que vous souhaitez accomplir. La première méthode consiste à créer une liste d'arguments : au lieu de mettre plusieurs noms d'arguments, placez un astérisque devant un seul argument. Cela crée automatiquement une liste.

def custom_function(message,*arguments): player.speak(message) return(arguments) value = custom_function("lalala","one","two","three") # The message "lalala" is printed on screen # Value now returns the list ("one","two","three")

La seconde méthode consiste à placer les arguments dans un dictionnaire au lieu d'une liste, ceci se fait de la même manière que dans la méthode précédente, mais au lieu d'un astérisque, vous en mettez deux. Cela crée automatiquement un dictionnaire au lieu d'une liste.

def custom_function(message,**arguments): player.speak(message) return(arguments) value = custom_function("lalala", one = 1, two = 2, three = 3) # The message "lalala" is printed on screen # Value now returns the dictionary: # {'one': 1, 'three': 3, 'two': 2}

Pour emballer tous les articles destinés à l'expédition, créez deux séries de fonctions personnalisées, l'une pour emballer des articles individuels et l'autre pour emballer plusieurs articles ensemble. Utilisez les arguments variables pour regrouper divers articles sans avoir à créer trop de fonctions.

def pack_singles(name,*items): length = len(items) player.speak("There are %d types of %s, those being:" % (length, name) ) player.speak(items) player.place(items) def pack_multi(name,**items): length = len(items) player.speak("There are %d types of %s, those being:" % (length, name) ) player.speak(items) player.place(items)

Il y a quatre (4) types d'articles sur le terrain : "jars" , "eggs" , "berries" et "fruit". Rassemblez tous les articles dans l'entrepôt et dirigez-vous vers les marques X sur la voie d'expédition. Rendez-vous aux marques X foncées et utilisez la fonction pack_singles pour emballer les "jars" et les "eggs".

Pour les "jars", il y a quatre (4) types que vous recueillez et qui sont passés en tant qu'arguments, à savoir "white", "purple", "red" et "brown". Ceux-ci doivent être stockés dans le conteneur situé près du tapis vert. Le code s'écrit comme suit : pack_singles("jars", "white", "purple", "red", "brown")

Pour les "eggs", il y a trois (3) types que vous recueillez et qui sont passés en tant qu'arguments, à savoir "white", "green" et "blue". Ceux-ci doivent être stockés dans le conteneur situé près du tapis orange. Le même format est utilisé que dans la configuration précédente.

Ensuite, rendez-vous aux marques X claires et utilisez la fonction pack_multi pour emballer les "berries" et les "fruit". Pour les "berries", il y a trois (3) types que vous recueillez et qui sont passés en tant qu'arguments, à savoir "red", "blue" et "purple". Ceux-ci doivent être stockés dans le conteneur situé près du tapis bleu. Vous devez ajouter les quantités collectées pour chacun, comme ceci : pack_multi("berries", red = 3 , blue = 2 , purple = 4 )

Pour les "fruit", il y a quatre (4) types que vous recueillez et qui sont passés en tant qu'arguments, à savoir "apple", "pear", "orange" et "peach". Ceux-ci doivent être stockés dans le conteneur situé près du tapis rouge. Utilisez le même format que pour l'entrée précédente, et assurez-vous que tous les articles sont collectés et stockés afin de terminer le niveau.

Livre de Code