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!']
try:
def avaliador(lista:list) -> bool:
for palavra in lista:
if ',' in palavra or '.' in palavra or '!' in palavra or '?' in palavra:
raise ValueError(f'O texto apresenta pontuações na palavra {palavra}')
else:
continue
return True
except Exception as e:
print(type(e))
else:
resultado = avaliador(lista_tratada)
print(resultado)
finally:
print('Avaliação encerrada')
Na linha: raise ValueError(f'O texto apresenta pontuações na palavra {palavra}') a mensagem na saída quando colocado a lista não tratada, não aparece a substituição da palavra não tratada pela variavel saida: raise ValueError(f'O texto apresenta pontuações na palavra {palavra}' ) Pq não consigo fazer com que mostre a palavra? Obs: Já fiz colocando como índice (lista[i]) ou jogando dentro de uma variável, também não deram certo