Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. from random import randint;
  5. import sys;
  6.  
  7. NUMERO_DEZENAS = 6;
  8.  
  9. # Função indica se o n existe no array numeros.
  10. # Início da função
  11. def existeNumero(numeros, n):
  12. return n in numeros;
  13. # Fim da função
  14.  
  15. # Função comparada cada número apostado, com os números sorteados.
  16. # Por fim retorna a quantidade de acertos.
  17. # Início da função
  18. def contaAcertos(sorteio, aposta):
  19. global NUMERO_DEZENAS;
  20. acertos = 0;
  21. for i in range(0, NUMERO_DEZENAS):
  22. nroAposta = aposta[i];
  23.  
  24. # compara cada nro apostado com os sorteados
  25. if (existeNumero(sorteio, nroAposta)):
  26. acertos += 1;
  27.  
  28. return acertos;
  29. # Fim da função
  30.  
  31. # Função retorna uma array com 6 números gerados randomicamente (API do Python),
  32. # sem duplicidade, representando o sorteio da megasena.
  33. # Início da função
  34. def sorteaSena():
  35. global NUMERO_DEZENAS;
  36. resultado = [];
  37.  
  38. for i in range(0, NUMERO_DEZENAS):
  39. repetido = False;
  40.  
  41. # Python não possui do while...
  42. while True:
  43. sorteado = randint(1, 60); #nro aleatório de 1 a 60
  44. if not existeNumero(resultado, sorteado):
  45. break;
  46.  
  47. resultado.append(sorteado);
  48.  
  49. return resultado;
  50. # Fim da função
  51.  
  52. def continuar():
  53. nova_aposta = raw_input("Deseja fazer uma nova aposta s / n ? : ")
  54. if nova_aposta == 's' or nova_aposta == 'S':
  55. sena()
  56. else:
  57. print "Encerrando apostas!!!";
  58. sys.exit();
  59.  
  60. sorteio = sorteaSena();
  61.  
  62.  
  63. # trecho processa a aposta
  64. print "Faça sua aposta: ";
  65.  
  66. def sena():
  67. aposta = [];
  68. for i in range (0, NUMERO_DEZENAS):
  69.  
  70. while True:
  71. nroAposta = int(raw_input("Informe a dezena "+ str(i+1) +": "));
  72. if (nroAposta <= 0):
  73. print "Número inválido, aposta cancelada!";
  74. sys.exit(); # encerra o programa
  75.  
  76. if (existeNumero(aposta, nroAposta)):
  77. print "Ops, número repetido!";
  78. else:
  79. break;
  80.  
  81. aposta.append(nroAposta);
  82.  
  83.  
  84. print "\nConfira sua aposta: ", str(aposta)[1:-1]
  85.  
  86. print "\nResultado do sorteio: ", str(sorteio)[1:-1]
  87.  
  88. nroAcertos = contaAcertos(sorteio, aposta);
  89. print "\nNúmero de acertos: ", nroAcertos;
  90.  
  91. if nroAcertos == 4:
  92. print "Parabéns. Você acertou a quadra!";
  93. elif nroAcertos == 5:
  94. print "Parabéns. Você acertou a quina!";
  95. elif nroAcertos == 6:
  96. print "Parabéns. Você é campeão da MegaSena!";
  97. else:
  98. print "Não foi dessa vez. Tente novamente!";
  99. continuar()
  100.  
  101. if __name__ == '__main__':
  102. sena()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement