No contexto da linguagem Python 3, considere a execução do ...
try: j = 0 lista = [ ] while j < 11: lista.append(j) j += 3 for i in range(len(lista)): if lista[i] % 2 > 0: print(str(Iista[i])) except: print("Ocorreu um erro") finally: print("Programa encerrado")
Sobre o programa acima, é correto afirmar que:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a Alternativa A, que indica que a saída do programa é "3", "9" e "Programa encerrado".
Vamos entender por que essa é a resposta correta:
O programa em questão utiliza a linguagem Python 3 e trabalha com estruturas de controle como try-except-finally, laços de repetição e manipulação de listas.
Inicialmente, temos uma estrutura try que protege o código em caso de erros. Dentro dela, a variável j
é inicializada com 0
, e uma lista vazia chamada lista
é criada.
O while loop preenche a lista com valores de j
enquanto j < 11
. A cada iteração, j
é incrementado em 3, portanto a lista resultante será [0, 3, 6, 9]
.
Em seguida, o loop for percorre essa lista imprimindo apenas os números ímpares (condição lista[i] % 2 > 0
). Assim, apenas "3" e "9" são impressos.
Após o loop for, o bloco finally garante que "Programa encerrado" seja impresso, independentemente de qualquer erro.
Agora, vamos analisar as outras alternativas:
Alternativa B: Incorreta, pois ela ignora o fato de que "3" e "9" são impressos antes de "Programa encerrado".
Alternativa C: Incorreta, uma vez que o programa não gera exceção durante a execução normal.
Alternativa D: Incorreta. Não há erro de sintaxe que impeça a execução. Contudo, há um pequeno erro de digitação na impressão (str(Iista[i])
em vez de str(lista[i])
), mas isso não é um erro de sintaxe imediato, apenas um possível erro de execução se não corrigido.
Alternativa E: Incorreta. O programa não entra no bloco except porque não ocorre nenhuma exceção durante a execução normal do código.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
Parte 1
try:
j = 0
lista = [ ]
while j < 11:
- lista.append(j)
- j += 3
implementa a lista com o count de j
lista = [0, 3, 6, 9]
Parte 2
for i in range(len(lista)): //len(lista)=quantidade de itens da lista
if lista[i] % 2 > 0:
- print(str(Iista[i]))
except:
- print("Ocorreu um erro")
finally: //sempre vai executar não importa o resultado do Try
- print("Programa encerrado")
para i até 4
lista[0]
- 0%2>0 false
lista[1]
- 3%2>0 true
lista[2]
- 6%2>0 false
lista[3]
- 9%2>0 true
resultado = (3, 9) programa encerrado
gab A
Qconcurso esta na hora de formatar as questões de forma certa, No python a indentação influencia totalmente na logica e na execução do código.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo