Considere o código fonte Python abaixo. def calcular(n): ...
def calcular(n):
resultado = [ ]
a, b = 0, 1
while a < n:
...I...
return resultado
res = calcular(100)
print res
Para que seja exibido [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] a lacuna I precisa ser preenchida corretamente com:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B
Fundamento decisivo: O ponto decisivo é "resultado = [ ]" indica uma lista Python e, com "a, b = 0, 1" e "while a < n:", a lacuna deve combinar o método adequado de lista com o avanço correto da sequência: registrar o valor corrente de a com append(a) e depois atualizar o par com "a, b = b, a+b". Esse critério confirma a alternativa B.
- Se o código mostra "resultado = [ ]", valide primeiro se o método usado pertence a lista e se a operação pretendida é acrescentar ao final.
- Em geração iterativa de Fibonacci com duas variáveis, confira se o próximo par é exatamente "a, b = b, a+b".
- Quando a saída esperada é uma sequência específica, teste mentalmente as primeiras iterações para verificar se a atualização realmente produz 0, 1, 1, 2, 3, 5.
- Em Python, atribuição múltipla usa simultaneamente os valores antigos do lado direito; isso é parte do critério quando a lógica depende do estado anterior.
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
O append()método acrescenta um elemento ao final da lista.
Sintaxe:
list.append(elmnt)
Iteração 1:
A = 0
B = 1
0 < n (condição do loop):
Imprime: 0
Iteração 2:
A = 0
B = 1
1 < 10 (condição do loop):
Imprime: 0 1
A = 1 / B = 0 + 1 (1)
Iteração 3:
A = 1
B = 1
1 < 10 (condição do loop):
Imprime: 0 1 1
A = 1 / B = 1 + 1 (2)
Iteração 4:
A = 1
B = 2
2 < 10 (condição do loop):
Imprime: 1 1 2
A = 2 / B = 1 + 2 (3)
Iteração 5:
A = 2
B = 3
3 < 10 (condição do loop):
Imprime: 1 1 2 3
A = 3 / B = 5
Já que o QC não tem a capacidade de colocar um código formatado decentemente, segue o mesmo para os colegas:
def calcular(n):
resultado = []
a, b = 0, 1
while a < n:
...I...
return resultado
res = calcular(100)
print res
LETRA B
Decorem o fibonacci e o fatoria, a FCC adora, em qualquer linguagem:
Q701574
Append: Função utilizada para adicionar um item ao final da lista. Pensando como uma pilha, de modo inverso a uma lista, ele adiciona um item no topo.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo