Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.68 KB | None | 0 0
  1. import os, sys
  2.  
  3. sistema = sys.platform
  4.  
  5. def limpa_tela(sistema):
  6.     if 'windows' in sistema:
  7.         os.system("cls")
  8.     else:
  9.         os.system("clear")
  10.  
  11. import calendar
  12.  
  13. def is_data_ok(data):
  14.     meses_e_excecoes = {'01':31, '02':28, '03':31, '04':30, '05':31, '06':30, '07':31, '08':31, '09':30, '10':31, '11':30, '12':31}
  15.     dia, mes, ano = data[:2], data[3:5], data[6:]
  16.     if len(data) == 10 and dia.isdigit() == True and mes.isdigit() == True and ano.isdigit() == True \
  17.         and data[2] == '/' and data[5] == '/'  \
  18.         and 01 <= int(mes) <= 12 and 01 <= int(dia) <= 31 and 0001 <= int(ano) <= 9999:
  19.            
  20.             if calendar.isleap(int(ano)): #fevereiro e ano bissexto
  21.                 if mes == '02'and int(ano) % 4 == 0 and int(ano) % 400 == 0:
  22.                         if 01 <= int(dia) <= 29:
  23.                             retorna = True
  24.                         else:
  25.                             retorna = False
  26.                        
  27.                 elif int(dia) <= meses_e_excecoes[mes]:
  28.                     retorna = True
  29.                 else:
  30.                     retorna = False    
  31.                    
  32.             elif int(dia) <= meses_e_excecoes[mes]:
  33.                 retorna = True
  34.             else:
  35.                 retorna = False
  36.     else:
  37.         retorna = False
  38.    
  39.     return retorna
  40.  
  41. def validaHora(horario):
  42.     if len(horario) == 5 and horario[2] == ":":
  43.         hora = horario[0:2]
  44.         minutos = horario[3::]
  45.         if 00 <= int(hora) <= 23 and 00 <= int(minutos) <= 59:
  46.             return True
  47.     else:
  48.         return False
  49.  
  50. def valida_turno(horario):
  51.     hora = horario[0:2]
  52.     minuto = horario[3::]
  53.  
  54.     if (hora == 0 and minuto >= 1) or (0 <= hora <= 5):
  55.         return "Madrugada"
  56.     elif (6 <= hora <= 11) or (hora == 12 and minuto == 0):
  57.         return "Manha"
  58.     elif (12 == hora and minuto >= 1) or  (13 <= hora <= 17) or (hora == 18 and minuto == 0):
  59.         return "Tarde"
  60.     elif (hora == 18 and minuto >= 1) or (19 <= hora <= 23) or (hora == 0 and minuto == 0):
  61.         return "Noite"
  62.  
  63. def leIdade():
  64.     while True:
  65.         idade = int(raw_input("Idade do paciente: "))
  66.         if 0 < idade <= 120:
  67.             break            
  68.         print "Idade invalida. Digite novamente."
  69.  
  70.     return idade
  71.  
  72. def leBairro():
  73.     while True:
  74.         print "1 - Bodocongo\n2 - Pedregal\n3 - Palmeira\n4 - Centro\n5 - Outro\n\n"
  75.         bairro = int(raw_input("Bairro: "))
  76.         if 1 <= bairro <= 5:
  77.             break
  78.         print "Bairro invalido. Digite novamente."
  79.  
  80.     return bairro
  81.  
  82.  
  83. def leData():
  84.     while True:
  85.         data = raw_input("Data: ")
  86.         if is_data_ok(data) == True:
  87.             break
  88.         print "Data invalida. Digite novamente."
  89.  
  90.     return data
  91.  
  92.  
  93. def leHora():
  94.     while True:
  95.         hora = raw_input("Hora de atendimento: ")
  96.         if validaHora(hora) == True:
  97.             break
  98.         print "Hora invalida. Digite novamente."
  99.  
  100.     return hora
  101.  
  102.  
  103. def leConvenio():
  104.     while True:
  105.         print "1 - UNIMED\n2 - APCEF\n3 - Bradesco MED\n4 - SUS\n5 - Outro\n\n"
  106.         opcao = int(raw_input("Convenio: "))
  107.        
  108.         if opcao == 1:
  109.             return "UNIMED"
  110.         elif opcao == 2:
  111.             return "APCEF"
  112.         elif opcao == 3:
  113.             return "Bradesco MED"
  114.         elif opcao == 4:
  115.             return "SUS"        
  116.         elif opcao == 5:
  117.             return "Outros"  
  118.                    
  119.         print "Problema invalido. Digite novamente."
  120.            
  121.     return
  122.  
  123. def leHospital():
  124.     while True:
  125.         print "1 - Joao XXIII\n2 - CLIPSI\n3 - SANTA CLARA\n4 - Outro\n\n"
  126.         opcao = int(raw_input("Hospital: "))
  127.        
  128.         if opcao == 1:
  129.             return "Joao XXIII"
  130.         elif opcao == 2:
  131.             return "CLIPSI"
  132.         elif opcao == 3:
  133.             return "SANTA CLARA"
  134.         elif opcao == 4:
  135.             return "Outro"        
  136.                    
  137.         print "Problema invalido. Digite novamente."
  138.            
  139.     return
  140.  
  141.  
  142. def leProblema():
  143.     while True:
  144.         print "1 - Trauma Fisico\n2 - Problemas Cardiacos\n3 - Problemas Alergicos\n4 - Problemas Neurologicos\n5 - Outros\n\n"
  145.         opcao = int(raw_input("Problema: "))
  146.        
  147.         if opcao == 1:
  148.             return "Trauma Fisico"
  149.         elif opcao == 2:
  150.             return "Problemas Cardiacos"
  151.         elif opcao == 3:
  152.             return "Problemas Alergicos"
  153.         elif opcao == 4:
  154.             return "Problemas Neurologicos"        
  155.         elif opcao == 5:
  156.             return "Outros"
  157.                    
  158.         print "Problema invalido. Digite novamente."
  159.            
  160.     return
  161.  
  162.  
  163. def criarArquivo():
  164.     return open('contatos.txt','w')
  165.  
  166.  
  167. def cadastrar(idade,bairro,data,hora,convenio,hospital,problema):
  168.     cadastrado = '%s|%s|%s|%s|%s|%s|%s\n*'%(idade,bairro,data,hora,convenio,hospital,problema)
  169.     arquivo = open('contatos.txt', 'a')
  170.     arquivo.write(cadastrado)
  171.     arquivo.close()
  172.  
  173. idades = {"Menores de 18 anos" : 0, "18 a 25" : 0, "26 a 35" : 0, "36 a 45" : 0, "Acima de 45 anos" : 0}
  174. bairros = {"Bodocongo" : 0, "Pedregal" : 0, "Palmeira" : 0, "Centro" : 0, "Outro" : 0}
  175. datas = {}
  176. convenios = {"UNIMED" : 0, "APCEF" : 0, "Bradesco MED" : 0, "SUS" : 0, "Outro" : 0}
  177. turnos = {"Manha" : 0, "Tarde" : 0, "Noite" : 0, "Madrugada" : 0}
  178.  
  179.  
  180. arquivo = criarArquivo()
  181.  
  182. while True:
  183.     print "O que deseja?\n1 - Cadastrar atendimento\n2 - Consultar dados\n3 - Sair\n\n"
  184.     opcao = int(raw_input("Opcao: "))
  185.     if not(1 <= opcao < 3):
  186.         break  
  187.         print "Opcao invalida. Digite novamente."
  188.  
  189.     elif opcao == 1:
  190.         idade = leIdade()
  191.         limpa_tela(sistema)
  192.        
  193.         bairro = leBairro()
  194.         limpa_tela(sistema)
  195.        
  196.         data = leData()
  197.         limpa_tela(sistema)
  198.        
  199.         hora = leHora()
  200.         limpa_tela(sistema)
  201.        
  202.         convenio = leConvenio()
  203.         limpa_tela(sistema)
  204.        
  205.         hospital = leHospital()
  206.         limpa_tela(sistema)
  207.        
  208.         problema = leProblema()
  209.         limpa_tela(sistema)
  210.        
  211.         cadastrar(idade,bairro,data,hora,convenio,hospital,problema)
  212.     else:
  213.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement