Programa de loterías en Python
A continuación os presento un programa muy sencillo, escrito en Python, para la generación aleatoria de combinaciones para juegos de azar. Lo he probado en Windows, así que en Linux no creo que haya problemas. He utilizado el módulo random para crear los números pseudoaleatorios. Hay varias formas de hacerlo. Yo he utilizado el método uniform, que da entre el rango que especifiquemos un número real. Como se verá en el código lo que he hecho ha sido un casting con int(), para quedarme con la parte entera, que es la que me interesa. Por supuesto el código tiene muchas mejoras, pero lo importante es ver el funcionamiento, y sobretodo lo sencillo que es programar en Python. Si he escrito esta noche este programa es porque es Viernes, no me ha tocado el Euromillones.
# Progama para generar secuencias de loterías.
# Escrito por Ángel Luis García García en Python 2.5.4
import random, os
def combinacion(num_ele, total_num, repetir = False,
ordenar_resultado = True):
elementos = []
if num_ele > total_num and not repetir:
print "No puedes sacar más valores de los que ya tienes!"
return
aux = num_ele
while aux > 0:
numero = int(random.uniform(1,total_num))
if repetir:
elementos.append(numero)
aux = aux - 1
else:
if elementos.count(numero) == 0:
elementos.append(numero)
aux = aux - 1
if ordenar_resultado:
elementos.sort()
print elementos
def menu():
print '''
================================
MENU PRINCIPAL
================================
Este programa genera combinaciones
de juegos de azar. Elige el juego
que más te guste.
1) Lotería primitiva
2) Euromillones
9) Salir
'''
opcion = raw_input("")
return opcion
def aplicacion():
os.system('cls')
opcion = ""
while opcion != "9":
opcion = menu()
if opcion == "1":
print ""
print "Combinación para Lotería Primitiva: "
combinacion(6,49)
print ""
if opcion == "2":
print ""
print "Euromillones"
print "Combinación ganadora: "
combinacion(5,50)
print "Estrellas: "
combinacion(2,9)
print ""
# Ejecutamos el programa.
aplicacion()
Buenas noches. si usas gnu/linux, hay que cambiar os.system('cls') por os.system('clear')
ResponderEliminarBuenas esto es lo que me sale: uso ubuntu 12.04
ResponderEliminarOriginal exception was:
File "secu_loterías001", line 10
num_elementos = []
^
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
# Progama para generar secuencias de loterías.
import random, os
def combinacion(num_ele, total_num, repetir = False,
ordenar_resultado = True):
num_elementos = []
if num_ele > total_num and not repetir:
print "No puedes sacar más valores de los que ya tienes!"
return
aux = num_ele
while aux > 0:
numero = int(random.uniform(1,total_num))
if repetir:
elementos.append(numero)
aux = aux - 1
else:
if elementos.count(numero) == 0:
elementos.append(numero)
aux = aux - 1
if ordenar_resultado:
elementos.sort()
print elementos
def menu():
print '''
================================
MENU PRINCIPAL
================================
Este programa genera combinaciones
de juegos de azar. Elige el juego
que más te guste.
1) Lotería primitiva
2) Euromillones
9) Salir
'''
opcion = raw_input("")
return opcion
def aplicacion():
os.system('clear')
opcion = ""
while opcion != "9":
opcion = menu()
if opcion == "1":
print ""
print "Combinación para Lotería Primitiva: "
combinacion(6,49)
print ""
if opcion == "2":
print ""
print "Euromillones"
print "Combinación ganadora: "
combinacion(5,50)
print "Estrellas: "
combinacion(2,9)
print ""
# Ejecutamos el programa.
aplicacion()