Seja o seguinte programa Python:l = ['abc', ['a', 'b', 'c'],...

Próximas questões
Com base no mesmo assunto
Q2319356 Programação
Seja o seguinte programa Python:
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?

Alternativas

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