Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

dicionario

fiz este codigo para poder pesquisar os livros da minha estante porem quando coloco o nome do livro ele me mostra todos poderiam me ajudar ?

livros_na_estante = { "O rei do inverno":"Bernard Cornwell",
"O ultimo reino":"Bernard Cornwell",
"1356": "Bernard Cornwell","Terra em chamas":"Bernard Cornwell",
"O lobo das planices":"Conn Iggulden","A odisseia":"Homero",
"Iliada": "Homero","A arte da  guerra":"Sun Tzu"}

livro = input("Digite o nome do livro:\n")

if livro in livros_na_estante:
    print("temos este livro {}".format(livros_na_estante))
else:print("Nao temos o livro ")
5 respostas

Você está printando o dicionário inteiro em

    print("temos este livro {}".format(livros_na_estante))

O correto seria

    print("temos este livro {}".format(livros_na_estante[livro]))

então desta maneira ele só esta me retornando o nome bernard cornwell eu queria que ele me retornasse a parte todo : "o rei do inverno : bernard cornwell"

quando escrevo o rei do inverno no input a saida acaba sendo so : bernard cornwell

solução!

Opa VIctor, boa noite, beleza?

Você pode fazer o unpacking do seu dicionário com um "for" e depois dentro do for colocar a condição que achar necessária. Segue um exemplo com base no seu código e a saida esperada:

livros_na_estante = {"O rei do inverno": "Bernard Cornwell",
                     "O ultimo reino": "Bernard Cornwell",
                     "1356": "Bernard Cornwell", "Terra em chamas": "Bernard Cornwell",
                     "O lobo das planices": "Conn Iggulden", "A odisseia": "Homero",
                     "Iliada": "Homero", "A arte da guerra": "Sun Tzu"}

livro_que_esta_buscando = input("Digite o nome do livro:\n")

#aqui faço o unpacking da chave e do valor e atribuo a chave ao nome de variável livro e o valor ao nome de variavel autor, ao chamar eles com um #print tenho o resultado que você espera

for livro, autor in livros_na_estante.items():
    if livro_que_esta_buscando == livro:
        print(f"temos este livro: {livro_que_esta_buscando} autor: {autor}")
    else:
        print("Nao temos o livro ")
#Saida esperada:
#Digite o nome do livro:
#A arte da guerra
#temos este livro: A arte da guerra autor: Sun Tzu

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

tenta isso:

    print("temos este livro {}".format(livros_na_estante[livro].items()))

muito obrigado a todos voces me ajudaram muito desejo bons estudos a todos