Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/12/2010, 14:13
kbb57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Duda sobre python

tienes razon lo siento por ponerte el problema tal qual, aqui tienes lo que yo he hecho:

def insereix_llista (l,f):
"""
Afegeix la figura f a la llista l si i nomes si aquesta f no esta present a l.
Pre ={l: llista; f: cadena}
Post={Retorna True en cas que hagi pogut afegir f a la llista l i False en cas contrari.}
"""
afegit=False
i=0
while i<len(l) and not afegit:
if l[i]!=f:
afegit=True
else:
i=i+1
if afegit:
l[i]=f
else:
afegit=False
return afegit

def omplir_parelles (f,c):
"""
Omple tota la matriu amb parelles diferents.
Pre ={f, c: enter positiu}
Post={Retorna una matriu de la mida indicada omplerta amb parelles diferents.}
"""
matriu=omplir(f,c)
i=0
while i<len(matriu) :
figura=lletra_maj_atzar() + str(numero_atzar(9))
ins=insereix_llista(matriu[i],figura)
if ins==True:
p1=posar_figura(matriu, figura)
p2=posar_figura(matriu, figura)
i=i+1
else:
i=i+1
return matriu

def posar_figura (m, fig) :
"""
Col.loca aleatoriament la figura indicada en una casella buida de la matriu.
Pre ={m: matriu}
Post={Retorna True en cas que s'hagi pogut col.locar la figura a la matriu; False en cas contrari.}
"""
posat=False
llista_casellas=[]
for i in range (len(m)):
for j in range (len(m[i])):
if m[i][j]=='_':
llista_casellas.append((i*10)+j)
posat=True
x=numero_atzar(len(llista_casellas)-1)
posicio1=llista_casellas[x]//10
posicio2=llista_casellas[x]%10
m[posicio1][posicio2]=fig
return posat

el problema es que no me rellena la matriz entera y ademas solo tiene que ser con parejas diferentes.
gracias de nuevo.