1
resposta

[Projeto] Resolução

livros_estoque = [{'titulo':'O Peregrino', 'autor':'John Bunyan', 'ano':1678, 'estoque':5}, {'titulo':'Confissões', 'autor':'Agostinho de Hipona', 'ano':397, 'estoque':5}, {'titulo':'Uma Vida com Propósitos', 'autor':'Rick Warren', 'ano':2002, 'estoque':5}]

def comprar_livro():
    contador = 1
    print(f'Qual livro deseja comprar\n')
    for livro in livros_estoque:
        print(f'{contador}. {livro['titulo']} - {livro['estoque']}')
        contador +=1

    
    comprar_mais = True

    while comprar_mais == True:
        livro_selecionado = input('\ndigite o nome do livro: ')
        for livro in livros_estoque:
            if livro['titulo'] == livro_selecionado:
                livro['estoque'] -= 1
                if livro['estoque'] <= 0:
                    print('Esgotado')
                    break
                print(f'{livro['titulo']} - {livro['estoque']}')
                decisao = input('quer comprar mais? s/n: ')
                if decisao == 'n':
                    comprar_mais = False
            
        



comprar_livro()

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Cassiano, como vai?

Seu código está bem estruturado e cumpre a proposta de simular a venda de livros com atualização do estoque. A lógica do laço while e a verificação dentro do for funcionam bem para o controle da quantidade disponível. Há, contudo, um pequeno detalhe na interpolação de strings que pode causar erro de sintaxe.

Continue compartilhando seus códigos no fórum, pois esse hábito ajuda bastante no aprendizado.

O fórum está à disposição sempre que precisar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!