Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.97 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.         opcao = int(raw_input("Bairro: "))
  76.        
  77.         if opcao == 1:
  78.             return "Bodocongo"
  79.         elif opcao == 2:
  80.             return "Pedregal"
  81.         elif opcao == 3:
  82.             return "Palmeira"
  83.         elif opcao == 4:
  84.             return "Centro"        
  85.         elif opcao == 5:
  86.             return "Outros"  
  87.                    
  88.         print "Problema invalido. Digite novamente."
  89.            
  90.     return
  91.  
  92.  
  93. def leData():
  94.     while True:
  95.         data = raw_input("Data: ")
  96.         if is_data_ok(data) == True:
  97.             break
  98.         print "Data invalida. Digite novamente."
  99.  
  100.     return data
  101.  
  102.  
  103. def leHora():
  104.     while True:
  105.         hora = raw_input("Hora de atendimento: ")
  106.         if validaHora(hora) == True:
  107.             break
  108.         print "Hora invalida. Digite novamente."
  109.  
  110.     return hora
  111.  
  112.  
  113. def leConvenio():
  114.     while True:
  115.         print "1 - UNIMED\n2 - APCEF\n3 - Bradesco MED\n4 - SUS\n5 - Outro\n\n"
  116.         opcao = int(raw_input("Convenio: "))
  117.        
  118.         if opcao == 1:
  119.             return "UNIMED"
  120.         elif opcao == 2:
  121.             return "APCEF"
  122.         elif opcao == 3:
  123.             return "Bradesco MED"
  124.         elif opcao == 4:
  125.             return "SUS"        
  126.         elif opcao == 5:
  127.             return "Outros"  
  128.                    
  129.         print "Problema invalido. Digite novamente."
  130.            
  131.     return
  132.  
  133. def leHospital():
  134.     while True:
  135.         print "1 - Joao XXIII\n2 - CLIPSI\n3 - SANTA CLARA\n4 - Outro\n\n"
  136.         opcao = int(raw_input("Hospital: "))
  137.        
  138.         if opcao == 1:
  139.             return "Joao XXIII"
  140.         elif opcao == 2:
  141.             return "CLIPSI"
  142.         elif opcao == 3:
  143.             return "SANTA CLARA"
  144.         elif opcao == 4:
  145.             return "Outro"        
  146.                    
  147.         print "Problema invalido. Digite novamente."
  148.            
  149.     return
  150.  
  151.  
  152. def leProblema():
  153.     while True:
  154.         print "1 - Trauma Fisico\n2 - Problemas Cardiacos\n3 - Problemas Alergicos\n4 - Problemas Neurologicos\n5 - Outros\n\n"
  155.         opcao = int(raw_input("Problema: "))
  156.        
  157.         if opcao == 1:
  158.             return "Trauma Fisico"
  159.         elif opcao == 2:
  160.             return "Problemas Cardiacos"
  161.         elif opcao == 3:
  162.             return "Problemas Alergicos"
  163.         elif opcao == 4:
  164.             return "Problemas Neurologicos"        
  165.         elif opcao == 5:
  166.             return "Outros"
  167.                    
  168.         print "Problema invalido. Digite novamente."
  169.            
  170.     return
  171.  
  172.  
  173. def criarArquivo():
  174.     try:
  175.       arquivo = open('arquivo','a')
  176.     except:
  177.         return open('contatos.txt','w')
  178.    
  179.     return
  180.  
  181.  
  182. def cadastrar(idade,bairro,data,hora,convenio,hospital,problema):
  183.     cadastrado = '%s|%s|%s|%s|%s|%s|%s\n'%(idade,bairro,data,hora,convenio,hospital,problema)
  184.     arquivo = open('contatos.txt', 'a')
  185.     arquivo.write(cadastrado)
  186.     arquivo.close()
  187.  
  188. idades = {"Menores de 18 anos" : 0, "18 a 25" : 0, "26 a 35" : 0, "36 a 45" : 0, "Acima de 45 anos" : 0}
  189. bairros = {"Bodocongo" : 0, "Pedregal" : 0, "Palmeira" : 0, "Centro" : 0, "Outro" : 0}
  190. datas = {}
  191. convenios = {"UNIMED" : 0, "APCEF" : 0, "Bradesco MED" : 0, "SUS" : 0, "Outro" : 0}
  192. turnos = {"Manha" : 0, "Tarde" : 0, "Noite" : 0, "Madrugada" : 0}
  193.  
  194.  
  195. arquivo = criarArquivo()
  196.  
  197. while True:
  198.     print "O que deseja?\n1 - Cadastrar atendimento\n2 - Consultar dados\n3 - Sair\n\n"
  199.     opcao = int(raw_input("Opcao: "))
  200.     if not(1 <= opcao < 3):
  201.         break  
  202.         print "Opcao invalida. Digite novamente."
  203.  
  204.     elif opcao == 1:
  205.         idade = leIdade()
  206.         limpa_tela(sistema)
  207.        
  208.         bairro = leBairro()
  209.         limpa_tela(sistema)
  210.        
  211.         data = leData()
  212.         limpa_tela(sistema)
  213.        
  214.         hora = leHora()
  215.         limpa_tela(sistema)
  216.        
  217.         convenio = leConvenio()
  218.         limpa_tela(sistema)
  219.        
  220.         hospital = leHospital()
  221.         limpa_tela(sistema)
  222.        
  223.         problema = leProblema()
  224.         limpa_tela(sistema)
  225.        
  226.         cadastrar(idade,bairro,data,hora,convenio,hospital,problema)
  227.     else:
  228.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement