He estado codeando un pequeño ejercicio que se me ocurrió en Python y he decidido hacerlo con clases y orientado a objetos, el problema es que no soy capaz de llamar al metodo main(), os muestro el codigo que llevo hecho:
Código
''' Created on Sep 9, 2010 @author: Debci ''' # -*- coding: utf-8 -*- class Matrizes: #Nuestra querida matriz matriz = [] def __init__(self): self.main() def main(self): while True: print "###### Manejo dinamico de matrizes ######\n\n" print "1-Insertar valores a la matriz" print "2-Examinar un elemento" print "3-Borrar un elemento" print "4-Modifica un elemento situado en un indice" print "5-Visualizar la matriz completa" print "6-Salir de esta aplicacion" indiceLeido = raw_input("Introduce tu opcion:") indiceLeido = int(indiceLeido) Matrizes.opcion(indiceLeido) def opcion(self,indice): #Comprobamos que indice es el introducido if indice == 1: numeroValores = raw_input("Cuantos valores desea introducir?\n") numeroValores = int(numeroValores) for i in range(numeroValores): valor = raw_input("Introduzca el valor asignado al indice " + str(i) + ":") valor = int(valor) Matrizes.matriz[i] = valor elif indice == 5: for j in Matrizes.matriz: print j if __name__ == "__main__": Matrizes.main()
Y al ejecutar el interprete me devuelve el siguiente error:
Citar
Traceback (most recent call last):
File "/home/debci/workspace/Tester/src/main.py", line 41, in <module>
Matrizes.main(super)
TypeError: unbound method main() must be called with Matrizes instance as first argument (got type instance instead)
File "/home/debci/workspace/Tester/src/main.py", line 41, in <module>
Matrizes.main(super)
TypeError: unbound method main() must be called with Matrizes instance as first argument (got type instance instead)
Que ocurre? No estoy seguro pero me daba como error que habia que indicar self como primer parametro, pero no acabo de ver porque falla...
Un saludo y gracias desde ya.