1
resposta

Solução exercício 6

lista_tratada = ['Python', 'é', 'uma', 'linguagem', 'de', 'programação', 'poderosa', 'versátil',
                  'e', 'fácil', 'de', 'aprender', 'utilizada', 'em', 'diversos', 'campos', 'desde',
                  'análise', 'de', 'dados', 'até', 'inteligência', 'artificial']

lista_nao_tratada = ['Python', 'é', 'uma', 'linguagem', 'de', 'programação', 'poderosa,', 'versátil',
                  'e', 'fácil,', 'de', 'aprender', 'utilizada', 'em', 'diversos', 'campos,', 'desde',
                  'análise', 'de', 'dados', 'até', 'inteligência', 'artificial!']

def verifica_texto(lista:list)->str:
    palavras_com_pontuacao = []
   
    for palavra in lista:
        if "," in palavra or "." in palavra or "!" in palavra or "?" in palavra:
            palavras_com_pontuacao.append(palavra)
    raise ValueError (f'O texto apresenta pontuações nas palavras :{palavras_com_pontuacao}.')

try:
    verifica_texto(lista_nao_tratada)

except ValueError as e:
    print(e)
1 resposta

Olá Daniella, tudo bem com você?

Obrigado por compartilhar seu código com a comunidade Alura.

Gostei de como você implementou a função verifica_texto para identificar palavras com pontuação. Essa abordagem de utilizar uma lista para armazenar as palavras com pontuação ficou clara e bem estruturada.

Uma dica interessante é usar o método str.isalnum() para verificar se uma palavra contém apenas caracteres alfanuméricos (letras e números). Isso pode ajudar a simplificar a verificação da pontuação.

Aplicando essa sugetão em um código de exemplo temos:

 
texto = 'Python, é uma linguagem!'  
palavras = texto.split()

palavras_sem_pontuacao = []
for palavra in palavras:
    if palavra.isalnum():
        palavras_sem_pontuacao.append(palavra)

print(palavras_sem_pontuacao)

Este código vai separar as palavras do texto e remover as que contêm pontuação.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!