Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível
Assíncrono/Aguardar
Criando uma mensagem
De tempos em tempos, você desejará fazer com que seu código Python seja executado somente após um critério específico ser atendido, em vez de ter o código rodando tudo de uma vez. Isso pode ser feito utilizando funções async. O nome desse tipo de função é uma abreviação da palavra "assíncrono" e elas são chamadas adicionando a expressão await antes de uma função.
Neste nível, aprenderemos como escrever nossas próprias mensagens e exibi-las como pop-ups. Ao adicionar await, poderemos pausar o código, permitindo que você leia a mensagem que escreveu e retome o código somente após fechar o pop-up.

Objetivo
Rotule os sinais para que exibam uma mensagem usando funções await/async.
Os sinais no depósito não têm nenhum rótulo, os materiais foram recentemente colocados e ainda não foram configurados. Seria uma boa ideia escrever mensagens para cada rótulo e contabilizar todos os itens que você revisou usando a função await/async write().
Caminhe até a marca de luz X, encare as caixas e use a função speak() para identificar o conteúdo das caixas. Existem quatro (4) constantes, uma para cada uma das caixas, a saber: green_crate, blue_crate, red_crate e orange_crate, que correspondem a cada um dos tapetes coloridos em frente de cada caixa.
Assim que identificar o conteúdo de uma caixa, use a função write() para escrever uma mensagem no sinal. As caixas terão quatro (4) tipos diferentes de vegetais: "potato", "onion", "corn" e "carrot". Escreva-os com a função, assim: await player.write("potato").
O código await é adicionado para identificar a função como uma função async. Funções desse tipo podem rodar simultaneamente com outros processos em seu código. Isso é útil quando você deseja pausar sua programação e aguardar que algo aconteça, como o pressionamento de um botão ou o recebimento de um comando online. Por essa razão, o comando await é adicionado, no caso da função write(), para pausar o programa com o objetivo de exibir uma mensagem.
Depois que todas as caixas tiverem suas mensagens escritas, caminhe até a marca de X dourada no final do depósito para contabilizar o número de itens em cada caixa. Crie uma lista com todas as constantes e use a função write() para escrever uma mensagem a fim de completar o nível.