Boa tarde, Estudante! Tudo bem com você?
Percebi que você utilizou vários recursos da linguagem, como listas, dicionários e laços, demonstrando uma boa compreensão dos recursos disponíveis. Mandou muito bem! O objetivo dos desafios práticos deste curso é exatamente esse: incentivar você a explorar possibilidades e superar desafios no mundo da programação. Agora, gostaria de compartilhar algumas sugestões que podem melhorar ainda mais o seu código:
Quando utilizamos aspas duplas no texto formatado (f-string), é necessário que as aspas dentro do conteúdo sejam simples para evitar interferências. Por exemplo:
print(f'{livro["nome"]} \t- {livro["estoque"]} unidades')
Para tornar a experiência do usuário mais completa, podemos exibir uma mensagem caso nenhum livro seja encontrado durante a pesquisa. Isso ajuda a evitar confusões. Um exemplo de como implementar isso seria:
if not com_estoque and not sem_estoque:
print("\nNenhum livro encontrado com esse nome.\n")
Código completo após as mudanças:
while True:
livros = [
{"nome": "1984", "estoque": 5},
{"nome": "Dom Casmurro", "estoque": 0},
{"nome": "O Pequeno Principe", "estoque": 3},
{"nome": "O Hobbit", "estoque": 0},
{"nome": "Orgulho e Preconceito", "estoque": 2}
]
pesq = input("\nDigite o nome do livro para pesquisa de estoque: ")
com_estoque = []
sem_estoque = []
for livro in livros:
if pesq.lower() in livro["nome"].lower():
if livro["estoque"] > 0:
com_estoque.append({"nome": livro["nome"], "estoque": livro["estoque"]})
else:
sem_estoque.append({"nome": livro["nome"], "estoque": 0})
if not com_estoque and not sem_estoque:
print("\nNenhum livro encontrado com esse nome.\n")
else:
print("\nLivros disponíveis:")
for livro in com_estoque:
print(f'{livro["nome"]} \t- {livro["estoque"]} unidades')
print("\nLivros indisponíveis:")
for livro in sem_estoque:
print(f'{livro["nome"]}')
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado