s2Eva_IT2013_T1y2 tabla de bingo

Propuesta de solución en Python:

# 2da Evaluación I Término 2013
# Tema 1. Sorteo k elementos entre a y b
# propuesta: edelros@espol.edu.ec
import random
import numpy as np

def sorteoentre(k,a,b):
    suertudos=[]
    i=0
    while not(i>=k):
        sorteo=int(random.random()*(b-a+1))+a
        if not(sorteo in suertudos):
            suertudos.append(sorteo)
            i=i+1
    return(suertudos)

# Tema 2. Programa tabla de bingo
n=5
#Rango inicial de B [1,15]
a=1  
b=15
incremento=15
# PROCEDIMIENTO
tabla=np.zeros(shape=(n,n),dtype=int)
columna=0
while not(columna>=n):
    datos=sorteoentre(n,a,b)
    for fila in range(0,n,1):
        tabla[fila,columna]=datos[fila]
    a=a+incremento
    b=b+incremento
    columna=columna+1
    
# corrige el cero en la posicion central
mitad=n//2
tabla[2,2]=0

# SALIDA
print(tabla)

Ejemplo:

>>> ================================ RESTART ==========
>>> 
[[ 4 28 37 51 63]
 [15 18 45 56 74]
 [13 23  0 48 69]
 [ 2 20 34 58 72]
 [ 3 16 32 50 71]]
>>> ================================ RESTART ==========
>>> 
[[ 2 17 37 58 75]
 [13 24 45 53 65]
 [ 7 19  0 51 73]
 [15 23 36 52 69]
 [ 3 30 39 47 67]]
>>>