Coding for KidsCoding for Kids
Níveis CriativosDesafiosGuia do Professor
Votar em funcionalidades
Curso Avançado de Desenvolvimento Python
Capítulo
>
Nível

Classes Avançadas
Sobrecarga de Comparação

Objetivo

Verifique e rotule os envios corretamente usando Sobrecarga de Comparação.

O cais de embarque possui alguns barris de vinho que estão prontos para serem enviados às lojas, mas precisam ser rotulados e preparados para que os trabalhadores possam identificá-los e enviá-los sem problemas. Para fazer isso, você deve usar Sobrecarga de Comparação, similar à Sobrecarga de Operadores aprendida no capítulo anterior; você deve sobrecarregar uma classe, desta vez com operadores de comparação.

Há três (3) pedidos no cais, cada um com dois (2) barris. Cada pedido possui uma placa destinada a indicar a proporção de peso dos barris no pedido. Existe uma classe definida no editor chamada barrel que permite usar Sobrecarga de Comparação. Há também três (3) funções configuradas no editor: less_than(), greater_than(), equal_to(), essas funções são usadas para registrar a proporção de peso nas placas.

Comece caminhando até as marcas X escuras e claras nos tapetes vermelhos e enfrente os barris, use a função read() para determinar o nome do vinho no barril, bem como o peso do barril, assim: await player.read(). Crie objetos para os barris escuro e claro, usando a classe barrel, e adicione as informações que você identificar a partir da função read(). Uma vez que os objetos sejam criados, crie outro objeto que compare ambos os objetos. Por exemplo:

red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light

Certifique-se de escrever o nome do vinho na instância da classe barrel exatamente como está exibido na mensagem quando você usar read().

Crie os objetos usando as convenções de nomenclatura de acordo com o tapete e a marca X de cor. Para o tapete vermelho, ao comparar os barris, use o operador < para verificar se o barril escuro tem um peso inferior ao do barril claro. Para finalizar este segmento, caminhe até a marca X dourada sobre o tapete vermelho e encare a placa. Use a função less_than() com o objeto de comparação para registrar a proporção de peso dos barris, assim: less_than(red_barrel_compare).

Em seguida, caminhe até as marcas X escuras e claras sobre o tapete verde e repita o mesmo processo. Use a função read() nas marcas X escuras e claras e crie os objetos correspondentes com essas informações. Para o objeto de comparação dos tapetes verdes, desta vez usaremos o operador > para verificar se o barril escuro tem um peso maior do que o barril claro. Caminhe até a marca X dourada sobre o tapete verde e encare a placa. Use a função greater_than() com o objeto de comparação para registrar a proporção de peso dos barris, assim: greater_than(green_barrel_compare).

Caminhe até as marcas X escuras e claras sobre o tapete azul e repita o mesmo processo. Use a função read() nas marcas X escuras e claras e crie os objetos correspondentes com essas informações. Para o objeto de comparação dos tapetes azuis, desta vez usaremos o operador == para verificar se o barril escuro tem o mesmo peso que o barril claro. Caminhe até a marca X dourada sobre o tapete azul e encare a placa. Use a função equal_to() com o objeto de comparação para registrar a proporção de peso dos barris, assim: equal_to(blue_barrel_compare).

Depois que todos os pedidos forem rotulados, caminhe até a marca X dourada sobre o tapete laranja na saída do cais. Encare a placa e use a função write() para registrar o que há em cada pedido, escreva os nomes de cada um dos barris de acordo com os objetos que você criou, por exemplo, no caso dos barris do tapete vermelho: red_barrel_dark.name , red_barrel_light.name. Faça isso para os seis barris a fim de completar o nível.

Livro de Código