1
resposta

PROBLEMA COM O IF

Não consigo fazer a seleção certa do meu Dicionário

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

o if e o elif tá dando o mesmo resultado

1 resposta

Olá Marcos, tudo bem com você?

Quando estamos trabalhando com o operador lógico or nas estruturas condicionais if e elif, será necessário informarmos qual a variável está sendo comparada a cada uso operador lógico or. Conforme apresentado abaixo.

if dados_research == 'celta' or dados_research == 'CELTA' or dados_research == 'Celta':
elif dados_research == 'corolla' or dados_research == 'COROLLA' or dados_research == 'Corolla':

Peço que modifique o código, deixando as estruturas condicionais como apresentadas acima.

Após a adição da variável dados_research, será necessário modificar a chamada da chave COROLLA. No código presente na estrutura condicional elif está ocorrendo a tentativa de acesso utilizando índice, dataset[1]. O acesso deverá acontecer utilizando o nome da coluna, dataset.COROLLA. Conforme apresentado abaixo.

elif dados_research == 'corolla' or dados_research == 'COROLLA' or dados_research == 'Corolla':
    print('O resultado da sua pesquisa é:')
    print(dataset.COROLLA)

Feita as modificações listadas acima, basta realizar a execução do código.

Gostaria de aproveitar a oportunidade e deixar uma recomendação de implementação do código. Você pode converter a entrada do usuário em letras minúsculas utilizando a função .lower() na função input(), assim, não será necessário criar múltiplas verificações na estrutura condicional if e elif. O código completo ficará como apresentado abaixo.

import pandas as pd

dados = {
    'CELTA':{'NOME':'CELTA', 'ANO':'2008', 'KILOMETRAGEM':'1289', 'VALOR':1320.00},
    'COROLLA':{'NOME':'COROLLA', 'ANO':'1998', 'KILOMETRAGEM':'324','VALOR':32897.00},
    'VOYAGE':{'NOME':'VOYAGE', 'ANO':'2018', 'KILOMETRAGEM':'120','VALOR':19450.00}

}
type(dados)
dataset=pd.DataFrame(dados)
dataset
dados_research = input('Digite o nome do carro que você deseja:').lower()
if dados_research == 'celta':
    print('O resultado da sua pesquisa é:')
    dataset
    print(dataset.CELTA)
elif dados_research == 'corolla':
    print('O resultado da sua pesquisa é:')
    print(dataset.COROLLA)

Espero ter ajudado. Em caso de dúvidas estou à disposição.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!