PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python unsigned short to Unicode?


tsaG
2014-06-29, 16:35:24
Hallo!

Ich möchte eine Zahl in Pygame auf meinem Display Rendern.
dataValues = array.array('H',[200, 90, 10, 2, 23, 25, 12, 32])
fontSmall = pygame.font.SysFont("ARIAL", 15)

def mainview():
RPMValue = fontSmall.render(dataValues[1], 1, WHITE)
screen.blit(RPMValue, (10, 35))



Ich erhalte den fehler:
RPMValue = fontLarge.render(dataValues[1], 1, WHITE)
TypeError: text must be a string or unicode

Also das meine dataValues[1] ein Unicode sein muss... was es doch auch ist, oder? Muss ich es sonst noch mit str() in ein String umwandeln, oder gibt es noch eine andere Möglichkeit zahlen zu rendern?

Ich komme von C und fange gerade mit Python an... Ich muss sagen, bis jetzt sieht die Sprache für mich ziemlich unstruktieriert aus.. so ganz ohne Klammern... naja...

Dio Eraclea
2014-06-29, 23:21:12
Wie kommst du auf die Idee dass dir dataValues[1] einen Unicode zurückliefern kann/soll? dataValues ist ein Array von UNSIGNED SHORT. Die Funktion erwartet aber entweder einen String (z.B. mit str(..)) oder ein Unicode (z.B. mit unicode(..)) laut Fehlermeldung. (Ich selbst beherrsche auch kein Python).
Auf die schnelle würde ich sagen entweder mit str(..) die Zahl in einen String umwandeln oder mit dem '%' Operator formatieren. (Einfach bei beliebiger Suchmaschine nach number to string python suchen und man wird fündig).

Dr.Doom
2014-07-04, 21:32:29
Ich komme von C und fange gerade mit Python an... Ich muss sagen, bis jetzt sieht die Sprache für mich ziemlich unstruktieriert aus.. so ganz ohne Klammern... naja...Im Gegentum: Durch die Einrückung ist das Ganze zwangsweise strukturierter als Klammern-Chaos von unumgebrochenen Anweisungsketten. :ugly:


from __future__ import braces
Syntax error: not a chance ;D