Advertisement
LightProgrammer000

Estatisticas Simples

Nov 21st, 2018
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.07 KB | None | 0 0
  1. '''
  2. - Crie um programa que leia a idade e o sexo de várias pessoas.
  3.  
  4. - A cada pessoa cadastrada, o programa deverá perguntar se o usuário
  5. quer ou não continuar.
  6. No final, mostre:
  7.  
  8. A - Quantas pessoas tem mais de 18 anos.
  9. B - Quantos homens foram cadastrados.
  10. C - Quantas mulheres tem menos de 20 anos
  11.  
  12. '''
  13.  
  14. # Biblioteca
  15. from emoji import emojize
  16.  
  17. print(emojize(f"\n\033[0;33m {'=-=' * 15} :mortar_board: DESAFIO :mortar_board: {'=-=' * 15} \033[m\n", use_aliases=True))
  18.  
  19. # Variáveis: Total
  20. qtd_pes = 0
  21. som_tot_ida = 0
  22. qtd_pes_men18 = 0
  23. qtd_pes_mai18 = 0
  24. lista_ida = []
  25.  
  26. # Variáveis: Homem
  27. aux_hom1 = 1
  28. qtd_hom = 0
  29. qtd_hom_men20 = 0
  30. qtd_hom_mai20 = 0
  31. soma_ida_hom = 0
  32. lista_ida_hom = []
  33.  
  34. # Variáveis: Mulher
  35. aux_mul1 = 1
  36. qtd_mul = 0
  37. qtd_mul_men20 = 0
  38. qtd_mul_mai20 = 0
  39. soma_ida_mul = 0
  40. lista_ida_mul = []
  41.  
  42. # Estrutura de repetição: Menu
  43. while True:
  44.  
  45.     idade = int(input("\033[0;34m - Digite a idade: \033[m"))
  46.  
  47.     # Proteção #
  48.     while idade < 0:
  49.         idade = int(input("\033[0;34m - Digite a idade: \033[m"))
  50.  
  51.     sexo = str(input("\033[0;32m - Digite o sexo [M/F]: \033[m")).upper().strip()
  52.  
  53.     # Proteção #
  54.     while sexo != 'M' and sexo != 'F':
  55.         sexo = str(input("\033[0;32m - Digite o sexo [M/F]: \033[m")).upper().strip()
  56.  
  57.     ############################# Homens + Mulheres #############################
  58.  
  59.     # Controle
  60.     qtd_pes += 1  # Quantidade de pessoas
  61.     som_tot_ida += idade  # Soma total da idades
  62.     lista_ida.append(idade)  # Lista total
  63.  
  64.     # Idade > 0
  65.     if idade >= 0:
  66.  
  67.         # Idade < 18
  68.         if idade < 18:
  69.             qtd_pes_men18 += 1
  70.  
  71.         # Idade > 18
  72.         elif idade >= 18:
  73.             qtd_pes_mai18 += 1
  74.  
  75.     # Lista: Ordem crescente
  76.     for a in range(0, len(lista_ida)):
  77.  
  78.         for b in range(0, len(lista_ida) - 1):
  79.  
  80.             if lista_ida[b] > lista_ida[b + 1]:
  81.                 aux = lista_ida[b]
  82.                 lista_ida[b] = lista_ida[b + 1]
  83.                 lista_ida[b + 1] = aux
  84.  
  85.     ############################# Homens #############################
  86.     if sexo == 'M':
  87.  
  88.         # Controle:
  89.         qtd_hom += 1  # Quantidade de homens
  90.         soma_ida_hom += idade  # Soma das idades dos homens
  91.         lista_ida_hom.append(idade)  # Colocar na lista
  92.  
  93.         # Atribuindo somente 1 vez
  94.         if aux_hom1 == 1:
  95.             maior_ida_hom = idade
  96.             menor_ida_hom = idade
  97.             aux_hom1 = 0
  98.  
  99.         # Maior idade
  100.         if maior_ida_hom < idade:
  101.             maior_ida_hom = idade
  102.  
  103.         # Menor idade
  104.         if menor_ida_hom > idade:
  105.             menor_ida_hom = idade
  106.  
  107.         # Idades entre 20 anos
  108.         if idade >= 0:
  109.  
  110.             if idade < 20:
  111.                 qtd_hom_men20 += 1
  112.  
  113.             else:
  114.                 qtd_hom_mai20 += 1
  115.  
  116.         # Ordenamento crecente da lista
  117.         for a in range(0, len(lista_ida_hom)):
  118.  
  119.             for b in range(0, len(lista_ida_hom) - 1):
  120.  
  121.                 if lista_ida_hom[b] > lista_ida_hom[b + 1]:
  122.                     aux_hom2 = lista_ida_hom[b]
  123.                     lista_ida_hom[b] = lista_ida_hom[b + 1]
  124.                     lista_ida_hom[b + 1] = aux_hom2
  125.  
  126.     ############################# Mulheres #############################
  127.     if sexo == 'F':
  128.  
  129.         # Controle:
  130.         qtd_mul += 1  # Quantidade das mulheres
  131.         soma_ida_mul += idade  # Soma das idades das mulheres
  132.         lista_ida_mul.append(idade)  # Colocar na lista
  133.  
  134.         # Atribuindo somente 1 vez
  135.         if aux_mul1 == 1:
  136.             maior_ida_mul = idade
  137.             menor_ida_mul = idade
  138.             aux_mul1 = 0
  139.  
  140.         # Maior idade
  141.         if maior_ida_mul < idade:
  142.             maior_ida_mul = idade
  143.  
  144.         # Menor idade
  145.         if menor_ida_mul > idade:
  146.             menor_ida_mul = idade
  147.  
  148.         # Idades entre 20 anos
  149.         if idade >= 0:
  150.  
  151.             if idade < 20:
  152.                 qtd_mul_men20 += 1
  153.  
  154.             else:
  155.                 qtd_mul_mai20 += 1
  156.  
  157.         # Ordenamento crecente da lista
  158.         for a in range(0, len(lista_ida_mul)):
  159.  
  160.             for b in range(0, len(lista_ida_mul) - 1):
  161.  
  162.                 if lista_ida_mul[b] > lista_ida_mul[b + 1]:
  163.  
  164.                     aux_mul2 = lista_ida_mul[b]
  165.                     lista_ida_mul[b] = lista_ida_mul[b + 1]
  166.                     lista_ida_mul[b + 1] = aux_mul2
  167.  
  168.     # Menu
  169.     desc = str(input("\n\033[0;31m - Deseja continuar [S/N]: \033[m")).upper().strip()
  170.  
  171.     # Proteção #
  172.     while desc != 'S' and desc != 'N':
  173.         desc = str(input("\n\033[0;31m - Deseja continuar [S/N]: \033[m")).upper().strip()
  174.  
  175.     if desc == 'N':
  176.         break
  177.  
  178.     else:
  179.         print("")
  180.  
  181. ################## RELATÓRIO ##################
  182.  
  183. #################################### HOMENS + MULHERES ####################################
  184. if qtd_pes != 0:
  185.  
  186.     # Cálculos
  187.     maior_idade_lista = max(lista_ida)
  188.     menor_idade_lista = min(lista_ida)
  189.     media_total = som_tot_ida / qtd_pes
  190.  
  191.     print(f"\n\033[0;30m {'=' * 25} RELATÓRIO {'=' * 25} \033[m")
  192.     print(f"\033[0;31m - Pessoas cadastradas: {qtd_pes} \033[m")
  193.     print(f"\033[0;32m - Pessoas com mais de 18 anos: {qtd_pes_mai18} \033[m")
  194.     print(f"\033[0;33m - Pessoas com menos de 18 anos: {qtd_pes_men18} \033[m")
  195.     print(f"\033[0;34m - Maior idade: {maior_idade_lista} \033[m")
  196.     print(f"\033[0;35m - Menor idade: {menor_idade_lista} \033[m")
  197.     print(f"\033[0;36m - Média de idade: {media_total:.2f} \033[m")
  198.  
  199.     print(" Lista das idades: ", end="")
  200.     for i in range(0, len(lista_ida)):
  201.         print(f"\033[0;36m {lista_ida[i]}", end="\033[0;30m -> \033[m")
  202.     print("Acabou")
  203.  
  204.     print(f"\033[0;30m {'=' * 61} \033[m")
  205.  
  206. #################################### HOMENS ####################################
  207.  
  208. if qtd_hom != 0:
  209.  
  210.     # Cálculos
  211.     med_ida_hom = soma_ida_hom / qtd_hom
  212.  
  213.     print(f"\n\033[0;30m {'=' * 25} RELATÓRIO {'=' * 25} \033[m")
  214.     print(f"\033[0;31m - Homens cadastrados: {qtd_hom} \033[m")
  215.     print(f"\033[0;32m - Homens com menos de 20 anos: {qtd_hom_men20} \033[m")
  216.     print(f"\033[0;33m - Homens com mais de 20 anos: {qtd_hom_mai20} \033[m")
  217.     print(f"\033[0;34m - Maior idade: {maior_ida_hom} \033[m")
  218.     print(f"\033[0;35m - Menor idade: {menor_ida_hom} \033[m")
  219.     print(f"\033[0;36m - Média de idade: {med_ida_hom:.2f} \033[m")
  220.  
  221.     print(" Lista das idades dos homens: ", end="")
  222.     for i in range(0, len(lista_ida_hom)):
  223.         print(f"\033[0;36m {lista_ida_hom[i]}", end="\033[0;30m -> \033[m")
  224.     print("Acabou")
  225.  
  226.     print(f"\033[0;30m {'=' * 61} \033[m")
  227.  
  228. #################################### MULHERES ####################################
  229.  
  230. if qtd_mul != 0:
  231.  
  232.     # Cálculos
  233.     med_ida_mul = soma_ida_mul / qtd_mul
  234.  
  235.     print(f"\n\033[0;30m {'=' * 25} RELATÓRIO {'=' * 25} \033[m")
  236.     print(f"\033[0;31m Mulheres cadastradas: {qtd_mul} \033[m")
  237.     print(f"\033[0;32m - Mulheres com menos de 20 anos: {qtd_mul_men20} \033[m")
  238.     print(f"\033[0;33m - Mulheres com mais de 20 anos: {qtd_mul_mai20} \033[m")
  239.     print(f"\033[0;34m - Maior idade: {maior_ida_mul} \033[m")
  240.     print(f"\033[0;35m - Menor idade: {menor_ida_mul} \033[m")
  241.     print(f"\033[0;36m - Média de idade: {med_ida_mul:.2f} \033[m")
  242.  
  243.     print(" Lista das idades das mulheres: ", end="")
  244.     for i in range(0, len(lista_ida_mul)):
  245.         print(f"\033[0;36m {lista_ida_mul[i]}", end="\033[0;30m -> \033[m")
  246.     print("Acabou")
  247.     print(f"\033[0;30m {'=' * 61} \033[m")
  248.  
  249. '''
  250. - CORES NO TERMINAL
  251. Ex.: \033[ESTILO;TEXTO;FUNDOm <TEXTO> \033[m
  252.  
  253. STYLE                    TEXT                   BACKGROUND                
  254. 0 - None                 30 - Branco            40 - Branco
  255. 1 - Bold                 31 - Vermelho          41 - Vermelho
  256. 4 - Underline            32 - Verde             42 - Verde
  257. 7 - Negative (Inversão)  33 - Amarelo           43 - Amarelo
  258.                         34 - Azul              44 - Azul
  259.                         35 - Roxo              45 - Roxo
  260.                         36 - Azul Piscina      46 - Azul Piscina
  261.                         37 - Cinza (Padrão)    47 - Cinza (Padrão)
  262. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement