Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

por que esse for não funciona

Usando o for dessa forma no meu programa da erro

vet = ["a","e","i","o","u"]

for i in vet:
    print(vet[i])

porem quando usa assim vai

vet = ["a","e","i","o","u"]

for i in range(len(vet)):
    print(vet[i])

queria entender melhor o porquê disso acontecer

1 resposta
solução!

Boa tarde Gabriel, quando tu faz assim:

vet = ["a","e","i","o","u"]

for i in vet:
    print(vet[i])

O print vai tentar imprimir as seguintes posições da variável vet: vet["a"] depois vet["e"] e assim por diante. O problema é que nas listas as posições dos elementos são acessadas por indíces inteiros começando em 0. Por exemplo, pra imprimir a primeira posição o correto é fazer print(vet[0]). É o que acontece no teu segundo exemplo. O método range gera valores começando em 0 até o tamanho da lista - 1.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software