Analise o script Python 3.8 exibido a seguir. L=["A","E","...
Analise o script Python 3.8 exibido a seguir.
L=["A","E","I","O","U"]
for k in range(0,len(L)):
print (L[4-k])
Assinale a opção que indica a saída produzida pela execução desse código.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - U O I E A
Vamos entender por que esta é a resposta certa. O script Python apresentado cria uma lista de vogais L = ["A", "E", "I", "O", "U"]
e itera sobre ela de maneira inversa, imprimindo seus elementos do último até o primeiro. Isso é feito pelo uso do laço for
com a função range
e a expressão L[4-k]
, onde k
varia de 0
a len(L) - 1
.
A função range(0, len(L))
gera uma sequência de números de 0
até len(L)-1
(neste caso, de 0
a 4
), pois len(L)
é igual a 5
, o tamanho da lista L
. O índice usado para acessar os elementos da lista é 4-k
. Isso significa que na primeira iteração, quando k
é 0
, 4-k
é 4
, acessando assim o último elemento da lista ("U"
). Na próxima iteração, k
é 1
, fazendo com que 4-k
seja 3
, acessando o penúltimo elemento ("O"
), e assim sucessivamente até que k
seja 4
e 4-k
seja 0
, acessando o primeiro elemento da lista ("A"
).
Dessa forma, a saída do programa será a impressão das vogais em ordem inversa à da lista original. Portanto, o código irá imprimir:
U
O
I
E
A
E essa sequência corresponde exatamente à alternativa E.
O conhecimento necessário para resolver essa questão envolve compreender como laços de repetição funcionam em Python, o uso da função range
e como listas são indexadas, bem como a lógica de iteração inversa em uma lista.
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
"for k in range(0,len(L)):" -> K terá valores de 0 a 4 (o 5 não é incluído no range)
L[4-0] -> L[4] = U
L[4-1] -> L[3] = O
L[4-2] -> L[2] = I
L[4-3] -> L[1] = E
L[4-4] -> L[0] = A
GAB E
Rapaz, a função len não deveria retornar 5 já que são 5 elementos no array?
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo