Stack Overflow en español Asked by Iván Knopoff on August 27, 2020
necesito que se me devuelva un texto que contenga nombre, puntaje, dificultad. Los primeros dos los toma bien, el problema es el tercero.
El código que tengo es:
def __init__(self, nombre, puntaje = 0, dificultad ='facil', avatar = None):
self.__nombre = nombre
self.__puntuacion = puntaje
self.__dificultad = dificultad
self.__avatar = avatar
def __str__(self):
return '{:^15} {:5} {:^15} {:^5} {:^15}'.format(self.__nombre,' ', self.__puntuacion,' ',self.__dificultad)
#def infoJugador(self):
El error que sale es el del título = TypeError: unsupported format string passed to method.format
Sucede cuando se invoca este método
def actualizar_puntaje (puntaje,ventana):
listado_puntos =''
for p in range(len(puntaje.puntajes)):
listado_puntos = listado_puntos + str(puntaje.puntajes[p]) + 'n'
ventana['puntos'].update(value=listado_puntos)
Lo resolví modificando así el infoJugador (sería el str)
def __str__(self):
return f"{self.__nombre} - {self.__puntuacion} - {self.__dificultad}"
y lo invoco así:
for p in range(len(puntaje.puntajes)):
listado_puntos = listado_puntos + str(puntaje.puntajes[p].infoJugador().upper()) + 'n'
Answered by Iván Knopoff on August 27, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP