Informática, perguntado por lucas27484, 5 meses atrás

PYTHON

Escreva uma função chamada replace que receberá uma lista de tuplas e um número x e deverá substituir o último elemento de cada tupla por x.

Entrada:

Não há entrada de dados, o teste chama a função replace para uma lista de tuplas e um número x.

Saída:

Não há saída explícita e a função deverá retornar a lista atualizada.


Observação:

No segundo caso de teste, o último número de cada uma das três tuplas foi substituído por 99.

Submeta somente o que foi solicitado.

teste no anexo

Anexos:

Soluções para a tarefa

Respondido por GeBEfte
3

As tuplas (tuple) em Python são contêineres de dados semelhante às listas (list), mas que, diferentes das listas, são imutáveis, ou seja, não podemos mexer no seu conteúdo (trocar elementos, alterar ordem etc), podemos apenas lê-las.

Sendo assim, a função replace não fará a substituição de um elemento na tupla, o que será feito é a substituição da tupla existente por uma nova com os mesmos elementos da anterior excetuando o último elemento que será "x".

[Python 3.8]

\sf de f~ replace(lst,~ x):\\	~~~~for~ i~ in~ range(len(lst)):\\~~~~~~~~		lst\underline{~}aux ~=~ [num~ for~ num~ in~ lst[i]]\\~~~~~~~~		lst\underline{~}aux[-1]~ =~ x\\~~~~~~~~		lst[i]~ =~ tuple(lst\underline{~}aux)\\~~~~	return~ lst

Comentários: Utilizamos um laço for para percorrer as tuplas contidas na lista e uma lista auxiliar (lst_aux) para efetuar as operações necessárias. Copiamos os elementos da tupla para lst_aux e substituímos o último item dessa lista por "x". Por fim, "transformamos" a lst_aux em uma tupla e substituímos a tupla original (na lista) pela nova tupla.

\Huge{\begin{array}{c}\Delta \tt{\!\!\!\!\!\!\,\,o}\!\!\!\!\!\!\!\!\:\,\perp\end{array}}Qualquer~d\acute{u}vida,~deixe~ um~coment\acute{a}rio


lucas27484: Excelente
Perguntas interessantes