-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
104 lines (84 loc) · 3.34 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import os
restaurantes = [{'nome':'Praça', 'categoria':'Japonesa', 'ativo':False},
{'nome':'Pizza Superma', 'categoria':'Pizza', 'ativo':True},
{'nome':'Cantina', 'categoria':'Italiano', 'ativo':False}]
def exibir_nome_programa():
print('Sabor Express')
def exibir_opcoes():
print('1. Cadastrar Restaurante')
print('2. Listar Restaurante')
print('3. Alternar estado do Restaurante')
print('4. Sair\n')
def finalizar_app():
exibir_subtitulo('Finalizando o App')
def voltar_ao_menu_principal():
input('\nDigite uma tecla para voltar ao menu principal: ')
main()
def opcao_invalida():
print('Opção Inválida\n')
voltar_ao_menu_principal()
def exibir_subtitulo(texto):
os.system('cls')
linha = '*' * (len(texto))
print(linha)
print(texto)
print(linha)
print()
def cadastrar_novo_restaurante():
'''Essa função é responsável por cadastrar um novo restaurante
- Nome do restaurante
- Categoria
Output:
- Adiciona um novo restaurante à lista de restaurantes
'''
exibir_subtitulo('Cadastro de novo restaurante')
nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: ')
categoria = input(f'Digite o nome da categoria para o restaurante {nome_do_restaurante}: ')
dados_do_restaurante = {'nome':nome_do_restaurante, 'categoria': categoria, 'ativo': False}
restaurantes.append(nome_do_restaurante)
print(f'O restaurante {nome_do_restaurante}, com a categoria {categoria} foi cadastrado com sucesso!')
voltar_ao_menu_principal()
def listar_restaurantes():
exibir_subtitulo('Listando os restaurantes')
print(f'{'Nome do Restaurante'.ljust(22)} {'Categoria'.ljust(20)} Status')
for restaurante in restaurantes:
nome_restaurante = restaurante['nome']
categoria = restaurante['categoria']
ativo = 'ativado' if restaurante['ativo'] else 'desativado'
print(f' - {nome_restaurante.ljust(20)} | {categoria.ljust(20)} | {ativo}')
voltar_ao_menu_principal()
def alternar_estado_restaurante():
exibir_subtitulo('Alternando estado do restaurante')
nome_restaurante = input('Digite o nome do restaurante que deseja alterar o estado: ')
restaurante_encontrado = False
for restaurante in restaurantes:
if nome_restaurante == restaurante['nome']:
restaurante_encontrado = True
restaurante['ativo'] = not restaurante ['ativo']
mensagem = f'O restaurante {nome_restaurante} foi ativado com sucesso' if restaurante['ativo'] else f'O restaurante {nome_restaurante} foi desativado com sucesso'
print(mensagem)
if not restaurante_encontrado:
print('O restaurante não foi encontrado')
voltar_ao_menu_principal()
def escolher_opcao():
try:
opcao_escolhida = int(input('Escolha uma opção: '))
if opcao_escolhida == 1:
cadastrar_novo_restaurante()
elif opcao_escolhida == 2:
listar_restaurantes()
elif opcao_escolhida == 3:
alternar_estado_restaurante()
elif opcao_escolhida == 4:
finalizar_app()
else:
opcao_invalida()
except:
opcao_invalida()
def main():
os.system('cls')
exibir_nome_programa()
exibir_opcoes()
escolher_opcao()
if __name__ == '__main__':
main()