String der Form "FF" in Hexzahl umwandeln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Spontifixus
User
Beiträge: 9
Registriert: Donnerstag 3. August 2006, 12:33

Donnerstag 3. August 2006, 12:47

Moin zusammen,

Ihr seid meine letzte Hoffnung! Nach über einer Stunde googlen, O'Reilly-Bücher-Lesen, und Python-Hilfe-Durchforsten weiß ich jetzt auch nicht mehr weiter.

Aufgabenstellung ist die folgende: Ich bekomme einen HTML-Farbstring in der Form "#ab00ed". Diesen zerlege ich in seine drei Bestandteile R, G und B.

Danach will ich mit diesen Daten rumrechnen, genauergesagt die Komplementärfarbe bilden. Dazu muss ich diesen Wert (für Rot hier "ab") von 255 (oder eben "FF") abziehen.

Python kann mit Hex-Zahlen rechnen, aber wie bringe ich es fertig Python beizubringen, dass das "ab" kein String sondern eine Zahl ist? Die Funktion int() verweigert da ihren Dienst, auch wenn ich dem String ein "0x" voranstelle...

Bin dankbar für jede Hilfe!

Viele Grüße,
Markus :)
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Donnerstag 3. August 2006, 12:55

Code: Alles auswählen

>>> int('0x21', 16)
33
>>> int('0xff', 16)
255
Du musst bei int als zweiten Parameter die Basis des Zahlensystems angeben, sonnst nimmt er naemlich 10, und damit geht's natuerlich nicht.

EDIT: Ich seh grad, das 0x kann man sich sogar sparen:

Code: Alles auswählen

>>> int('ff', 16)
255
Spontifixus
User
Beiträge: 9
Registriert: Donnerstag 3. August 2006, 12:33

Donnerstag 3. August 2006, 13:04

*argh* *vordenkopfklatsch*

Danke für deine Hilfe. Manchmal sieht man den Wald vor lauter Bäumen nicht...

Gruß,
Markus :)
Antworten