Respostas - Exercício do Módulo 3
Problema 1
Os instrumentos para resolver este problema já foram dominados no exercício do módulo 2. Agora, basta escrever os comandos em sequência, criando assim um programa.
Com isso, em vez de comandos isolados no console, você cria no editor um programa a ser executado.
Antes de ler o código abaixo, pense nos seguintes pontos:
- Você importou o módulo dsd?
- Você definiu marcadores de início e fim adequados para a função dsd.extrair?
- Você se lembrou de deixar apenas o nome do ministro como resultado final a ser impresso na tela?
# Importa a biblioteca dsd
import dsd
# define o conteúdo da variável html (conforme pedido no problema)
html = '''<div id="divImpressao"><div><h3><strong>AÇÃO DIRETA DE
INCONSTITUCIONALIDADE (Med. Liminar) - 6000</strong></h3><table width="99%"
cellspacing="5"><tr><td>Origem:</td><td><strong>RIO DE JANEIRO</strong></td>
<td>Entrada no STF:</td><td><strong>30-Ago-2018</strong></td></tr><tr>
<td>Relator:</td><td><strong>MINISTRO ALEXANDRE DE MORAES</strong></td>
<td>Distribuído:</td><td><strong>30-Ago-2018</strong></td></tr><tr><td>Partes:
</td><td colspan="3">Requerente: <strong>GOVERNADOR DO ESTADO DO RIO DE
JANEIRO (CF 103, 00V)</strong><br />Requerido :<strong>ASSEMBLEIA LEGISLATIVA
DO ESTADO DO RIO DE JANEIRO </strong></td></tr></table></div><br /><strong>
<strong '''
# Extrai o campo relator
relator = dsd.extrair(html,'Relator:</td><td><strong>','<')
# Retira o trecho 'MINISTRO ', para ficar apenas com o nome
relator = relator.replace('MINISTRO ','')
print (relator)
Problema 2
No problema 2, antes de ler o código abaixo, pense nos seguintes pontos:
- Você definiu a lista a ser preenchida com os dados selecionados?
- Você verificou se há uma característica que une todos os nomes de tribunais a serem selecionados? Talvez o critério de filtragem dos dados não seja único, mas uma combinação de dois critérios diferentes (unidos por um "e" ou por um "ou").
- Você combinou um iterador com uma expressão condicional?
lista = ['TSE','STJ','TST','STM','TRF','SCOTUS','Bundesverfassungsgericht',
'TJSP','TJDFT']
# Define lista a ser preenchida
tribunais_superiores = []
# Estabelece iteração para todos os itens na lista de tribunais
for item in lista:
# Cria expressão condicional em busca da substring 'ST' em cada item
if 'ST' in item or 'TS' in item:
# Acrescenta à lista a ser preenchida os itens correspondentes
tribunais_superiores.append(item)
# Imprime na tela a lista gerada
print (tribunais_superiores)