SOU INICIANTE EM PYTHON, E NO CÓDIGO ACIMA QUERO DIGITAR UM NÚMERO DENTRO DA LISTA(VALORES), E QUE ME VOLTE O ÍNDICE DESSE VALOR, OS NÚMEROS 0,8,9,1 ME VOLTAM O ÍNDICE CERTO, MAS 3,5 VOLTAM COMO ÍNDICE -1, PODEM ME AJUDAR COM ESSE PROBLEMINHA?
SOU INICIANTE EM PYTHON, E NO CÓDIGO ACIMA QUERO DIGITAR UM NÚMERO DENTRO DA LISTA(VALORES), E QUE ME VOLTE O ÍNDICE DESSE VALOR, OS NÚMEROS 0,8,9,1 ME VOLTAM O ÍNDICE CERTO, MAS 3,5 VOLTAM COMO ÍNDICE -1, PODEM ME AJUDAR COM ESSE PROBLEMINHA?
Boa noite Vinicius, tudo joia? Veja, para o resultado que você espera, o index() já é suficiente. Ou seja, você passa o valor, e ele retorna o índice daquele valor.
valores = [0, 8, 3, 5, 9, 1]
indice = valores.index(8)
print(indice) # Vai imprimir 1, que é a posição do valor 8 na sua lista
No entanto, quando você, mais abaixo no seu código, faz o condicional if indice in valores, você na verdade está testando se o valor do índice obtido (no exemplo acima, o inteiro 1) está presente na sua lista, o que imagino que não seja sua intenção.
Para atingir o seu objetivo, você pode usar o try!
valores = [0, 8, 3, 5, 9, 1]
try:
print(valores.index(7))
except ValueError:
print(-1) # Como 7 não está na lista, vai cair nesta exception!
Espero ter ajudado. Bons estudos!