biblioteca = []
categoria = []
quantidade = []
print("Sistema de controle de estoque - Buscante")
criar_categoria = input("Deseja cadastrar uma categoria de livros? (s/n) ").lower()
if criar_categoria == "s":
digite_categoria = input("Digite o nome da categoria de livros: ")
categoria.append(digite_categoria)
print("Categoria cadastrada com sucesso: {}".format(digite_categoria))
else:
print("Nenhuma categoria de livros foi cadastrada.")
criar_produto = input("Deseja cadastrar um livro? (s/n) ").lower()
if criar_produto == "s":
for categoria_produto in categoria:
biblioteca.append(
input("Digite o nome do livro da categoria {}: ".format(categoria_produto))
)
else:
print("Nenhum livro foi cadastrado no sistema.")
criar_quantidade = input("Deseja informar a quantidade de exemplares? (s/n) ").lower()
if criar_quantidade == "s":
for produto_quantidade in biblioteca:
quantidade.append(
int(input("Informe a quantidade de exemplares disponíveis do livro {}: ".format(produto_quantidade)))
)
else:
print("Quantidade de exemplares não informada.")
# Existem duas formas de verificar a quantidade no estoque
# Forma 1:
# Usando if, a verificação acontece apenas uma vez.
# Serve para checar se ainda existe quantidade disponível.
# for i in quantidade:
# if i > 0:
# i -= 1
# print("Quantidade disponível {}".format(i))
# else:
# print("Quantidade indisponível")
# Forma 2:
# Usando while, a quantidade é reduzida de 1 em 1.
# Cada repetição representa uma venda.
# O laço continua até o estoque zerar.
for i in quantidade:
while i > 0:
print("Quantidade disponível {}".format(i))
i -= 1
else:
print("Quantidade indisponível")
print("\nLista completa do estoque:\n")
# Teste de sub_listas
# for i in range(len(biblioteca)):
# print("| Categoria: {} | Livro: {} | Quantidade: {} |"
# .format(categoria[i], biblioteca[i], quantidade[i]))
Fiz mais coisas do que o exercício pediu porque me empolguei um pouco rsrs, porém gostaria de confirmar se o código está de acordo com a atividade. Minha principal dúvida está no segundo formato, pois não compreendi totalmente como o for percorre a lista e como o while atua como verificador. O PyCharm apresentou esse formato como uma recomendação (uma forma que também pode ser utilizada), em que o for é responsável por percorrer os dados, enquanto o while controla a repetição das vendas até que a quantidade se esgote. Gostaria de entender melhor essa separação de responsabilidades, pois não entendi completamente como essa parte funciona.