Código Python:
El problema está en que la propiedad hobbies es la misma para todas las instancias de la clase. Para solucionarlo hago esto:Ver original
class Person(): hobbies = [] jeremy = Person() bob = Person() jeremy.hobbies.append('reading comics') bob.hobbies # ['reading comics']
Código Python:
Sin embargo no sé si esta es la solución más correcta/ortodoxa, ni por qué es necesario hacerlo.Ver original
class Person(): hobbies = [] def __init__(self): self.hobbies = self.hobbies[:] # actual copy
La segunda pregunta está relacionada con el módulo random. Ahora por ejemplo cada persona tiene una puntuación, y quiero elegir un aleatoriamente teniendo más probabilidades de salir la que más puntos tenga. Hasta ahora estoy haciéndolo así:
Código Python:
La pregunta es, ¿existe algún método en el módulo random que haga esto mismo?Ver original
def choose_person(people): points = [person.points for person in people] total = sum(points) rand = random.randint(0, total) for i in xrange( len(points) ): if rand > points[i]: rand -= points[i] continue else: return people[i]
Espero vuestras respuestas.
Saludos y gracias de antemano (: