O índice traiçoeiro
Um sensor manda oito leituras. O código soma só as que subiram em relação à anterior. Rode o código de cabeça, sem computador, e diga qual número ele imprime.
O código
v = [7, 1, 4, 1, 5, 9, 2, 6] # leituras do sensor
s = 0
for i in range(len(v)): # i vai de 0 a 7
if v[i] > v[i - 1]: # subiu em relação à anterior?
s += v[i]
print(s)
É Python 3 comum. Não tem erro de digitação nem truque de formatação: o programa roda e imprime um número inteiro.
Sua resposta
Dicas
- Monte uma tabela com quatro colunas:
i,v[i],v[i - 1]e o valor desdepois da linha. - O laço começa em
i = 0. Quanto valei - 1nessa primeira volta? - Em Python,
v[-1]não dá erro. Teste no seu celular, num app de Python, ou procure "índice negativo em Python".
Explicação
Por que dá esse número
Para ir além
Lógica de laço é a base de todo firmware de robô. Pratique com projetos de verdade no curso IA do zero e nos guias de Soluções que vendem.