Buenas, en mi facultad migraron todo el programa de C a python y soy novato en el lenguaje... Ya estamos en Clase y diseñé una lista para la clase que funciona bien, pero me gustaria saber como se puede hacer para agrandar la lista... Paso el código
MOD: Etiqueta GeSHi.
Código (python) [Seleccionar]
#lista de clases
class Persona():
__nombre=""#los guiones son para que sea un atributo privado
__apellido=""
def saludar(self):
print("Hola " + self.__nombre + " " + self.__apellido)
def setNombre(self,nom):
self.__nombre=nom
def setApellido(self,ape):
self.__apellido=ape
def getNombre(self):
return self.__nombre
def getApellido(self):
return self.__apellido
print ("Tamanio de la lista: ")
n=int(input())
print("\n")
lista=[None]*n
for x in range(n):
lista[x]=Persona()
print("Ingrese Nombre:")
lista[x].setNombre(input())
print("Ingrese Apellido:")
lista[x].setApellido(input())
print("\n")
print("Quiere agrandar la lista?: s/n")
op=input()
if op=="s" or op=="S":
print ("cantidad a agregar: ")
n2=int(input())
aux=n+n2
for x in range(n2):
lista.append(None)
lista[x]=Persona()
print("Ingrese Nombre:")
lista[x].setNombre(input())
print("Ingrese Apellido:")
lista[x].setApellido(input())
print("\n")
for x in range(aux):
print("\nEn la posicion %d:" % x)
print(lista[x].getNombre())
print(lista[x].getApellido())
#Me sobre escribe los datos de la lista, se que con append
#se escriben al final pero si pruebo de otra manera luego me dice 'list index out of range'
else:
for x in range(n):
print("\nEn la posicion %d:" % x)
print(lista[x].getNombre())
print(lista[x].getApellido())
MOD: Etiqueta GeSHi.