Cours avancé de développement Python
Chapitre
>
Niveau
Async/Await
Revue asynchrone
Objectif
Documenter la production de bouteilles de vin en utilisant des fonctions Async en vérifiant la quota et en terminant de faire tremper les baies de vin.
La production de bouteilles de vin doit être assurée afin que la cave puisse produire suffisamment de bouteilles pour être approvisionnée. Pour y parvenir, les baies de vin doivent être trempées afin de s'assurer que tout est traité pour la fermentation et transformé en vin.
Commencez par vous rendre vers le X sombre, sans tapis devant un papier. Cette note contient des informations sur la quota de production qui doit être atteinte ainsi que des notes sur les baies qui ont été trempées. Utilisez la fonction read() pour vérifier la quota et noter quelles sont les valeurs des baies de vin, puis stockez-les dans une variable nommée quota.
Une fois que vous savez ce qui est requis, rendez-vous aux X clairs et faites face aux caisses pour vérifier combien de produit est prêt à être transformé. Utilisez la fonction read() sur les deux pour vérifier le contenu des articles prêts. Créez une variable nommée wine_berries et additionnez les quantités que vous avez lues aux deux X.
La quantité de produit finalisé ne suffira pas pour atteindre la quota, rendez-vous au X doré en bas à droite et faites face aux sacs. Utilisez la fonction collect() pour prendre les baies des sacs et poursuivez vers les X sombres sur les tapis.
Il y a quatre (4) pots dans lesquels les baies trempent pour être utilisées dans le vin. Dans le document, il est indiqué quels pots sont prêts à être collectés et quels pots doivent avoir des baies trempées. Utilisez la fonction question() pour vérifier si vous souhaitez collecter les baies de vin trempées ou faire tremper les baies dans le pot. Sur les tapis verts et jaunes avec des X sombres, vous devez collecter les baies et sur les tapis violets et bleus avec des X sombres, les baies doivent être placées.
La fonction question() nécessaire pour acquérir le produit est écrite dans l'éditeur de code et se nomme soaking_pot() :
async def soaking_pot():
answer = await player.question("Collect berries instead of soaking them?")
if answer:
player.collect("wine berries")
else:
player.place("berries")
Une fois les baies de vin collectées, rendez-vous au X doré sur le côté gauche, à côté des barils à baies, et utilisez la fonction place() pour ajouter les "wine berries" que vous avez collectées. Sur la variable que vous avez créée, wine_berries, ajoutez 100 livres de produit, soit 50 pour chacun des produits que vous avez collectés précédemment. Cela se fait de la manière suivante : wine_berries+=100
Rendez-vous aux X sombres avec des tapis rouges et orange. Sur le X du tapis rouge, utilisez la fonction write() et ajoutez la quantité de wine_berries dont vous disposez actuellement, comme ceci : player.write("There are %d pounds of product finished" % (wine_berries))
Sur le X du tapis orange, utilisez la fonction write() pour inscrire le produit qui n'a pas encore été finalisé. Pour terminer le niveau, soustrayez wine_berries de quota tout en écrivant afin de déterminer les éléments restants, comme ceci : player.write("There are %d pounds of product Remaining" % (quota-wine_berries))