Seja o seguinte programa Python:l = ['abc', ['a', 'b', 'c'],...
l = ['abc', ['a', 'b', 'c'], 'd', ['a', ['abc', 'd']]] c = 0
for e in l: c+=len(e)
print( c )
O que será exibido no console quando esse programa for executado?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - 9
Para entendermos a solução da questão, precisamos discorrer sobre algumas funcionalidades da linguagem de programação Python. O Python permite a criação de listas, que podem conter diferentes tipos de elementos, incluindo outras listas, o que é conhecido como listas aninhadas.
Na linha de código l = ['abc', ['a', 'b', 'c'], 'd', ['a', ['abc', 'd']]], temos uma lista com quatro elementos. Dois desses elementos são strings ('abc' e 'd') e dois são listas (['a', 'b', 'c'] e ['a', ['abc', 'd']]). O loop for percorre cada elemento da lista l.
A função len() é utilizada para obter o comprimento de um objeto. No caso de strings, ela retorna o número de caracteres. No caso de listas, ela retorna o número de elementos contidos na lista.
Ao percorrer a lista l, a variável c é incrementada com o comprimento de cada elemento:
- Para 'abc', len('abc') é 3.
- Para ['a', 'b', 'c'], len(['a', 'b', 'c']) é 3.
- Para 'd', len('d') é 1.
- Para ['a', ['abc', 'd']], len(['a', ['abc', 'd']]) é 2, pois existem dois elementos na lista, 'a' e a lista aninhada ['abc', 'd'].
Somando esses valores (3 + 3 + 1 + 2), obtemos o total de 9. Assim, ao final do loop, a variável c terá o valor 9, e é isso que será impresso no console quando executarmos o programa.
Portanto, a alternativa D é correta porque o código percorre cada elemento da lista l, soma os comprimentos dos elementos e acumula esse valor na variável c, resultando no valor 9.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Esse código faz um loop pelos valores de array e para cada valor, pega seu comprimento e adiciona à variável c.
O primeiro valor é 'abc', que tem comprimento 3
O segundo valor é ['a', 'b', 'c'], que tem comprimento 3
O terceiro valor é 'd', que tem comprimento 1
O quarto valor ['a', ['abc', 'd']], que tem comprimento 2
Logo, o valor de c será 0 + 3 + 3 + 1 + 2 = 9
Gabarito D
Gabarito: letra D
- 'abc' = 3
- ['a', 'b', 'c'] = 3
- 'd' = 1
- ['a', ['abc', 'd']] = 2 (aqui pode gerar dúvidas a respeito do comprimento).
'a' = 1
['abc', 'd'] é uma lista e conta como UM elemento!
(1 de 'a') + (1 da lista ['abc','d']) = 2
somando os dois temos: 1+1 = 2
Por fim, o valor de c será:
3 + 3 + 1 + 2 = 9
bagulho dificil da porr4
Devemos somar o comprimento dos elementos que compõem a lista L.
O somatório diz respeito ao número de caracteres para os elementos ou número de elementos no caso dos arrays dentro da lista.
3 + 3 + 1 + 2 = 9
c= 0
0 + 9 = 0
é isso que me deixa put bixo, como saber quando ele ta contabilizando cada lista dentro do array apenas como um só elemento ou como cada elemento dentro desse array? e quando saber em qual nivel de elementaridade ele ta se referindo? se é apenas no primeiro nivel (array dentro de array) ou se é de segundo nivel (Array dentro de array que ta dentro de um array) ta maluco, isso ta pior que "A origem"
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo