Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.30 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.         convenio = int(raw_input("Convenio: "))
  107.         if 1 <= convenio <= 5:
  108.             break
  109.         print "Convenio invalido. Digite novamente."
  110.  
  111.     return convenio
  112.  
  113. def leHospital():
  114.     while True:
  115.         print "1 - Joao XXIII\n2 - CLIPSI\n3 - SANTA CLARA\n4 - Outro\n\n"
  116.         hospital = int(raw_input("Hospital: "))
  117.         if 1 <= hospital <= 4:
  118.             break
  119.         print "Hospital invalido. Digite novamente."
  120.  
  121.     return hospital
  122.  
  123.  
  124. def leProblema():
  125.     while True:
  126.         print "1 - Trauma Fisico\n2 - Problemas Cardiacos\n3 - Problemas Alergicos\n4 - Problemas Neurologicos\n5 - Outros\n\n"
  127.         opcao = int(raw_input("Problema: "))
  128.        
  129.         if opcao == 1:
  130.             return "Trauma Fisico"
  131.         elif opcao == 2:
  132.             return "Problemas Cardiacos"
  133.         elif opcao == 3:
  134.             return "Problemas Alergicos"
  135.         elif opcao == 4:
  136.             return "Problemas Neurologicos"        
  137.         elif opcao == 5:
  138.             return "Outros"
  139.                    
  140.         print "Problema invalido. Digite novamente."
  141.            
  142.     return "ERROR"
  143.  
  144.  
  145. def criarArquivo():
  146.     return open('contatos.txt','w')
  147.  
  148.  
  149. def cadastrar(idade,bairro,data,hora,convenio,hospital,problema):
  150.     cadastrado = '%s|%s|%s|%s|%s|%s|%s\n*'%(idade,bairro,data,hora,convenio,hospital,problema)
  151.     arquivo = open('contatos.txt', 'a')
  152.     arquivo.write(cadastrado)
  153.     arquivo.close()
  154.  
  155. idades = {"Menores de 18 anos" : 0, "18 a 25" : 0, "26 a 35" : 0, "36 a 45" : 0, "Acima de 45 anos" : 0}
  156. bairros = {"Bodocongo" : 0, "Pedregal" : 0, "Palmeira" : 0, "Centro" : 0, "Outro" : 0}
  157. datas = {}
  158. convenios = {"UNIMED" : 0, "APCEF" : 0, "Bradesco MED" : 0, "SUS" : 0, "Outro" : 0}
  159. turnos = {"Manha" : 0, "Tarde" : 0, "Noite" : 0, "Madrugada" : 0}
  160.  
  161.  
  162. arquivo = criarArquivo()
  163.  
  164. while True:
  165.     print "O que deseja?\n1 - Cadastrar atendimento\n2 - Consultar dados\n3 - Sair\n\n"
  166.     opcao = int(raw_input("Opcao: "))
  167.     if not(1 <= opcao < 3):
  168.         break  
  169.         print "Opcao invalida. Digite novamente."
  170.  
  171.     elif opcao == 1:
  172.         idade = leIdade()
  173.         limpa_tela(sistema)
  174.        
  175.         bairro = leBairro()
  176.         limpa_tela(sistema)
  177.        
  178.         data = leData()
  179.         limpa_tela(sistema)
  180.        
  181.         hora = leHora()
  182.         limpa_tela(sistema)
  183.        
  184.         convenio = leConvenio()
  185.         limpa_tela(sistema)
  186.        
  187.         hospital = leHospital()
  188.         limpa_tela(sistema)
  189.        
  190.         problema = leProblema()
  191.         limpa_tela(sistema)
  192.        
  193.         cadastrar(idade,bairro,data,hora,convenio,hospital,problema)
  194.     else:
  195.         break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement