Advertisement
Guest User

Untitled

a guest
Mar 26th, 2020
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.02 KB | None | 0 0
  1. menu = '''
  2.  
  3. Menu
  4.  
  5. 0- Finalizar.
  6. 1- Cadastrar sala na lista.
  7. 2- Listar salas cadastradas.
  8. 3- Alterar a numeração de alguma sala.
  9. 4- Excluir uma sala da lista.
  10. 5- Relatório de sala por andar.
  11.  
  12. Escolha: '''
  13.  
  14. menu_alteracao = '''
  15.  
  16. Menu Alteração
  17. 1- Sala.
  18. 2- Capacidade da Sala.
  19. 3- Quantidade de Computadores.
  20.  
  21. Escolha: '''
  22.  
  23. listaDeSalas = []
  24. listaDeAndares = []
  25. listaDeCapacidades = []
  26. listaDeQtdeComps = []
  27.  
  28. listaDeSalas = []
  29. listaDeAndares = []
  30. listaDeCapacidades = []
  31. listaDeQtdeComps = []
  32.  
  33.  
  34. def cabecalho():
  35. lista_cabecalho = [
  36. " ",
  37. "\nCadastro de Sala",
  38. "\nListar das Salas Cadastradas",
  39. "\nAlterar Salas ",
  40. "\nExcluir Salas",
  41. "\nRelatório de Salas por andar"
  42. ]
  43. print(lista_cabecalho[int(escolha)])
  44.  
  45.  
  46. def sala_validada():
  47. while True:
  48. sala = str(input("Digite a sala: "))
  49.  
  50. print('A sala de numero {}, Esta no andar {}.'.format(
  51. sala, cria_andar(sala)))
  52.  
  53. if sala in listaDeSalas:
  54. input("\n Esta Sala já consta no cadastro.[Enter]")
  55. else:
  56. return sala
  57.  
  58.  
  59. def cria_andar(sala):
  60.  
  61. try:
  62. sala_int = int(sala)
  63. andar = sala[:2] if sala_int > 1000 else sala[0]
  64. except Exception:
  65. andar = sala[0]
  66.  
  67. return andar
  68.  
  69.  
  70. def andar_valido(x = -1):
  71. return cria_andar(listaDeSalas[x])
  72.  
  73.  
  74. def validar_capacidade_da_sala():
  75. qtde_maxima = 40
  76. qtde_minima = 0
  77. while True:
  78. try:
  79. qtde = int(input("Digite a Capacidade da Sala: "))
  80. if qtde >= qtde_minima and qtde <= qtde_maxima:
  81. return qtde
  82. input("\n A capacidade deve estar entre 0 e 40.[Enter]")
  83. except:
  84. input("\n A capacidade deve ser um numeral.[Enter]")
  85.  
  86.  
  87. def validar_qtde_computadores():
  88. qtde_minima = 0
  89. while True:
  90. try:
  91. qtde = int(input("Digite a quantidade de computadores na sala: "))
  92. if qtde >= qtde_minima:
  93. return qtde
  94. input("\n A quantidade deve ser maior ou igual a 0.[Enter]")
  95. except:
  96. input("\n A quantidade deve ser um numeral.[Enter]")
  97.  
  98. # Cadastro 1
  99.  
  100.  
  101. def cadastrar_dados_sala():
  102. cabecalho()
  103. listaDeSalas.append(sala_validada())
  104. listaDeAndares.append(andar_valido())
  105. listaDeCapacidades.append(validar_capacidade_da_sala())
  106. listaDeQtdeComps.append(validar_qtde_computadores())
  107.  
  108. # Relatório de Salas Cadastradas 2
  109.  
  110.  
  111. def relatorio_salas():
  112. cabecalho()
  113.  
  114. print(" sala - andar - capacidade pessoas - qtde computadores")
  115. print(" _____________________________________________________")
  116. for ind, sala in enumerate(listaDeSalas):
  117. print(" {0}{1}{2}{3}"
  118. .format(
  119. str(sala).ljust(7),
  120. str(listaDeAndares[ind]).ljust(8),
  121. str(listaDeCapacidades[ind]).center(21),
  122. str(listaDeQtdeComps[ind]).center(18)
  123. )
  124. )
  125. input(' [Enter] Continua...')
  126.  
  127.  
  128. def escolhe_sala():
  129. relatorio_salas()
  130. sala = input("Escolha uma sala para Alterar: ")
  131. if sala in listaDeSalas:
  132. return listaDeSalas.index(sala)
  133. input('...Erro. Sala não consta no adastro. [Enter]')
  134. return escolhe_sala()
  135.  
  136.  
  137. def altera_conforme(ind, opcao):
  138. if opcao == '1':
  139. listaDeSalas[ind] = sala_validada()
  140. listaDeAndares[ind] = andar_valido(ind)
  141. elif opcao == '2':
  142. listaDeCapacidades[ind] = validar_capacidade_da_sala()
  143. else:
  144. listaDeQtdeComps[ind] = validar_qtde_computadores()
  145.  
  146.  
  147. def escolhe_que_alterar():
  148. escolha = input(menu_alteracao)
  149. if escolha in ('1', '2', '3', '4'):
  150. return escolha
  151. input('...Opção não existe no menu. [Enter]')
  152. return escolhe_que_alterar()
  153.  
  154.  
  155. # Alterar a numeração da sala 3
  156.  
  157. def alterar_dados_sala():
  158. cabecalho()
  159. altera_conforme(escolhe_sala(), escolhe_que_alterar())
  160.  
  161.  
  162. # Excluir sala - 4
  163.  
  164. def excluir_sala():
  165. cabecalho()
  166. relatorio_salas()
  167. salaDigitada = input('Digite o número da sala a ser excluida: ')
  168. if salaDigitada in listaDeSalas:
  169. ind = listaDeSalas.index(salaDigitada)
  170. listaDeSalas .remove(salaDigitada)
  171. listaDeAndares .pop(ind)
  172. listaDeCapacidades.pop(ind)
  173. listaDeQtdeComps .pop(ind)
  174. input("... Sala Removida da Lista. [Enter] ....")
  175. else:
  176. input("... Sala não consta na lista. [Enter] ...")
  177.  
  178.  
  179. def imprime_so_andares(lista_andares_cadastrados):
  180. print('Andares Cadastrados')
  181. print('-------------------')
  182. lista_andares_cadastrados.sort()
  183. for andar in lista_andares_cadastrados:
  184. print(' '*5, andar)
  185.  
  186.  
  187. def andares_cadastrados():
  188. lista_andares_cadastrados = []
  189.  
  190. def identifica_os_andares():
  191. for andar in listaDeAndares:
  192. if andar not in lista_andares_cadastrados:
  193. lista_andares_cadastrados.append(andar)
  194. identifica_os_andares()
  195. imprime_so_andares(lista_andares_cadastrados)
  196.  
  197.  
  198. def escolha_andar():
  199. andares_cadastrados()
  200. return input('Escolha o andar: ')
  201.  
  202.  
  203. def salas_do_andar(andar):
  204. print(' '*8, 'Salas do', andar, ':')
  205. print(' '*8, '------------')
  206. for ind, sala in enumerate(listaDeSalas):
  207. if listaDeAndares[ind] == andar:
  208. print(' '*8, sala)
  209.  
  210.  
  211. # Opção 5
  212.  
  213. def relatorio_por_andar():
  214. cabecalho()
  215. salas_do_andar(escolha_andar())
  216. input(' [Enter] Continua...')
  217.  
  218. # Programa Pricipal
  219.  
  220. escolha = 0
  221. while True:
  222. escolha = input(menu)
  223. if escolha == '0':
  224. break
  225. elif escolha == '1':
  226. cadastrar_dados_sala()
  227. elif escolha == '2':
  228. relatorio_salas()
  229. elif escolha == '3':
  230. alterar_dados_sala()
  231. elif escolha == '4':
  232. excluir_sala()
  233. elif escolha == '5':
  234. relatorio_por_andar()
  235. else:
  236. input("\n\n Opção Inválida! [Enter]")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement