Ejecutar archivo .py pero no imprime en pantalla
Publicado por Hilario (3 intervenciones) el 08/09/2016 18:16:06
Hola a todos.
Lo primero indicar que estoy empezando con python y estoy practicando con ejemplos básicos usando un libro de referencia que me está ayudando.
He creado un archivo cartas.py con una clase y un par de métodos, entre los que está la sobrecarga del operador str, para poder imprimir el objeto usando el comando print.
Bien, tras la definición de la clase, finalizo el archivo con una declaración de un objeto tipo carta y un print(objeto).
Pero cuando ejecuto el cartas.py en línea de comandos, se ejecuta pero no muestra nada en pantalla y salta nuevamente el cursor.
He probado a añadir una última línea de prueba tipo print("esto debería salir") y he vuelto a ejecutar el archivo, y no solo me muestra en pantalla la cadena "esto debería salir" sino que antes muestra el comando print(objeto) correctamente.
Indicar que cuando indico print(objeto) , me refiero a una instancia del objeto carta.
A qué se debe eso?
Por cierto, he probado dentro del interprete de python a importar el archivo para ver si podía crear alguna instancia de la clase Carta , pero me dice que nanai. Debería de poder, no? os pongo mi archivo.
Mil gracias.
Lo primero indicar que estoy empezando con python y estoy practicando con ejemplos básicos usando un libro de referencia que me está ayudando.
He creado un archivo cartas.py con una clase y un par de métodos, entre los que está la sobrecarga del operador str, para poder imprimir el objeto usando el comando print.
Bien, tras la definición de la clase, finalizo el archivo con una declaración de un objeto tipo carta y un print(objeto).
Pero cuando ejecuto el cartas.py en línea de comandos, se ejecuta pero no muestra nada en pantalla y salta nuevamente el cursor.
He probado a añadir una última línea de prueba tipo print("esto debería salir") y he vuelto a ejecutar el archivo, y no solo me muestra en pantalla la cadena "esto debería salir" sino que antes muestra el comando print(objeto) correctamente.
Indicar que cuando indico print(objeto) , me refiero a una instancia del objeto carta.
A qué se debe eso?
Por cierto, he probado dentro del interprete de python a importar el archivo para ver si podía crear alguna instancia de la clase Carta , pero me dice que nanai. Debería de poder, no? os pongo mi archivo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Carta:
listaDePalos=["Tréboles","Diamantes","Corazones","Picas"]
listaDeValores=["nada","As","2","3","4","5","6","7","8","9","10","Sota","Reina","Rey"]
def __init__(self, palo=0, valor=0):
self.palo=palo
self.valor=valor
def __str__(self):
return(self.listaDeValores[self.valor] + " de " + self.listaDePalos[self.palo])
tresDeTreboles=Carta(0,3)
print(tresDeTreboles)#si solo muestro hasta aquí, no hace nada.
print("esto debería salir") #solo agregando esta línea, aparece la anterior
Mil gracias.
Valora esta pregunta


0