Para fazer essa questão eu utilizei a lista da questão passada. Fiz algumas coisas a mais pq fiquei meio animado kkkk. Poderiam me mandar sugestões de como melhorar a lógica ou deixar o código mais resumido?
import os
livros = ["1984", "Dom Casmurro", "O Pequeno Príncipe", "O Hobbit", "Orgulho e Preconceito"]
def limpar_tela():
os.system('cls')
def voltar_para_o_menu():
input('\nDigite enter para voltar para o menu princípal')
main()
def comprar():
limpar_tela()
if len(livros) == 0:
print('Estoque esgotado')
else:
escolha = input('Escreva o nome do livro que deseja comprar: ')
tinha_o_livro = False
for i in livros:
if escolha == i:
livros.remove(escolha)
print(f'Você comprou o livro: {i}\nEstoque restante: {len(livros)}')
tinha_o_livro = True
break
if tinha_o_livro == False:
print(f'O Livro {escolha} que você queria comprar não está no nosso sistema\n')
voltar_para_o_menu()
def visualizar():
limpar_tela()
disponibilidade = 'indisponíveis' if len(livros) == 0 else 'disponíveis'
print(f'Livros {disponibilidade}\n')
for i in livros:
print(i)
voltar_para_o_menu()
def encerrar_programa():
limpar_tela()
print('\nFinalizando programa...\n')
def menu():
limpar_tela()
print('''1 - Comprar
2 - Ver a prateleira
3 - Sair
''')
try:
escolha = int(input('Escolha uma opção: '))
if escolha == 1:
comprar()
elif escolha == 2:
visualizar()
elif escolha == 3:
encerrar_programa()
else:
print('A opção selecionada não existe.')
except ValueError:
print('A opção selecionada não existe.')
voltar_para_o_menu()
main()
def main():
limpar_tela()
menu()
if __name__ == '__main__':
main()