Challenge resolvido por Lorena Mattos.
Tecnologias | Projeto 1 | Projeto 2
Esse projeto foi desenvolvido com as seguintes tecnologias:
- Python
- Git e Github
- Bibliotecas
Lista ligada é uma das estruturas de dados mais importantes na computação, utilizada em uma enorme quantidade de aplicações. Uma lista encadeada ou lista ligada é uma estrutura de dados linear e dinâmica. Ela é composta por várias células que estão interligadas através de ponteiros, ou seja, cada célula possui um ponteiro que aponta para o endereço de memória da próxima célula
Em anexo, você encontrará uma implementação parcial de uma lista ligada. O exercício consiste em implementar os métodos vazios, para garantir o correto funcionamento da lista ligada, e fazer com que os testes definidos no main rodem adequadamente.
Para todo aviador, é vital saber antes de qualquer vôo as condições meteorológicas dos aeródromos de partida ou de chegada, assim como a existência de cartas disponíveis e horários de nascer e pôr do sol.
No Brasil, estas informações são disponibilizadas pelo site https://aisweb.decea.mil.br/.
Nesta página é possível encontrar links para cartas, horários do sol e as informações de TAF e METAR, que são boletins meteorológicos codificados.
Escreva um código que leia no terminal o código ICAO qualquer de um aeródromo (SBMT = campo de marte, SBJD = aeroporto de jundiaí, etc...) e imprima na tela:
As cartas disponíveis Os horários de nascer e pôr do sol de hoje A informação de TAF e METAR disponíveis Vale ressaltar que estas informações devem ser obtidas em tempo real do site, através de SCRAPPING.
Para implementar os métodos da classe LinkedList
, é importante entender o que cada método deve fazer com base na descrição fornecida no exercício.
-
O método
__init__
é responsável por inicializar a lista ligada vazia. Nesse caso, basta definir os atributos_head
e_tail
comoNone
e o atributo_len
como 0. -
O método
__len__
deve retornar o comprimento da lista ligada, ou seja, o número de elementos presentes nela. Nesse caso, basta retornar o valor do atributo_len
. -
O método
head
deve retornar o valor do primeiro nó da lista ligada. Para isso, podemos simplesmente retornar o valor do atributo_head
. -
O método
tail
deve retornar o valor do último nó da lista ligada. Para isso, podemos retornar o valor do atributo_tail
. -
O método
append
deve inserir um novo nó no final da lista ligada com o valor fornecido. Para fazer isso, precisamos criar um novo nó com o valor fornecido e atualizar os ponteiros_next
para garantir que o último nó aponte para o novo nó inserido. Além disso, também precisamos atualizar o atributo_tail
para o novo nó inserido e incrementar o valor de_len
. -
O método
insert
deve inserir um novo nó no início da lista ligada com o valor fornecido. Isso requer a criação de um novo nó e a atualização dos ponteiros_next
para garantir que o novo nó aponte para o nó anteriormente no início da lista. Além disso, precisamos atualizar o atributo_head
para o novo nó inserido e incrementar o valor de_len
. -
O método
removeFirst
deve remover o primeiro elemento da lista ligada e retornar o seu valor. Para fazer isso, precisamos atualizar os ponteiros_next
para garantir que o segundo nó na lista seja o novo primeiro nó. Além disso, precisamos decrementar o valor de_len
e retornar o valor removido. -
O método
getValueAt
deve retornar o valor de um nó na posição definida pelo índice. Se o índice for maior do que o tamanho da lista, devemos lançar uma exceçãoOutOfBoundsException
. Para fazer isso, precisamos percorrer a lista até o nó na posição especificada pelo índice e retornar o seu valor. Se o índice for maior do que o tamanho da lista, lançamos a exceçãoOutOfBoundsException
. -
O método
toList
deve retornar uma representação em forma de lista ([1, 2, 3, ...]) da lista ligada. Para fazer isso, precisamos percorrer a lista e armazenar os valores dos nós em uma lista Python, que será retornada no final.
Com base nessas informações e no código fornecido, podemos implementar os métodos necessários para que a lista ligada funcione corretamente.
-
Instalar o Python NESSE LINK, após instalar no PATH.
-
Usar o editor de código de sua preferência (indico: Pycharm)
-
Usar comando pip install para instalar as bibliotecas contidas no arquivo requirments.txt: pip install -r requirements.txt
-
Importar as bibliotecas:
-
import requests
-
from bs4 import BeautifulSoup
-
import sys
-
Escreva no terminal: python + o nome do arquivo (main.py) seguido dos códigos: SBMT = campo de marte ou SBJD = aeroporto de jundiaí, etc.
Feito com ♥ by Lorena Mattos 👋 Faça parte das minhas redes!