import random
def baralha_palavra(palavra):
baralhada=list(palavra[1:-1])
random.shuffle(baralhada)
return palavra[0]+"".join(baralhada)+palavra[-1:]
Na linha 4 retiramos o primeiro e último elemento da palavra. Depois transformamos o resultado numa lista. Agora já podemos baralhar os caracteres. Notar que o método shuffle opera sobre listas, baralha tudo sem usar cópia (in situ) e devolve como resultado o objecto None. É por isso que não vemos nenhuma atribuição! Finalmente, devolvemos a cadeia reconstruída: o primeiro caracter, seguido da parte que foi baralhada depois de convertida para cadeia de caracteres e seguida do último caracter. Atente-se no modo como o método join é usado: primeiro o separador (neste caso a cadeia vazia) seguido do ponto, seguido de join, seguido da lista de caracteres a unir, colocada entre parênteses.
Professor julgo que esta é a resolução do exercício 5.8 e não do 5.7
ResponderEliminarCaso pudesse postar tb a do problema 5.7 agradecia..
Obrigado
Professor, ja não é necessário postar as resolução da questão 5.7, pelo menos por minha causa, ja descobri o que me estava a faltar...
ResponderEliminarPois foi. enganei-me nos números.
ResponderEliminarDe qualquer modo aqui deixo a solução para o 5.7:
def soma_3(lista):
... return sum(lista[1::3])