Griechisch in Python

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
Mathek
User
Beiträge: 9
Registriert: Dienstag 17. August 2010, 14:58

Hi, weiss jmd wie man einen griechischen Buchstaben z.B. kl. tau in Python printen kann?
Konkret wollte ich meine x-Achse in einem normalen Plot mit kl. tau benennen.

LG

Mathek
Benutzeravatar
xpilz
User
Beiträge: 76
Registriert: Sonntag 11. April 2010, 12:46
Wohnort: Deutschland
Kontaktdaten:

Hallo Mathek.

Such doch einfach mal in Google. Da findet sich immer eine Tabelle mit der man den Unicode Nummern.
Das wäre das kleine tau:

Code: Alles auswählen

chr(964)
Hoffe damit ist dir geholfen.

mfg, xpliz
BlackJack

@xpilz: Da sollte man vielleicht noch die Python-Version dazu sagen, denn bei mir in Python 2.x kommt da:

Code: Alles auswählen

In [117]: chr(964)
---------------------------------------------------------------------------
<type 'exceptions.ValueError'>            Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

<type 'exceptions.ValueError'>: chr() arg not in range(256)
Also ich würde den Buchstaben einfach direkt in den Quelltext in einer literalen Unicode-Zeichenkette eingeben. Dazu muss die verwendete Kodierung für die Quelltextdatei das Zeichen beinhalten und der Kodierungskommentar muss entsprechend gesetzt sein.

Sollte der Quelltext nur ASCII enthalten dürfen, würde ich den Namen des Unicode-Codepoints verwenden, statt der nicht so aussagekräftigen Zahl:

Code: Alles auswählen

In [122]: tau = u'\N{GREEK SMALL LETTER TAU}'

In [123]: ord(tau)
Out[123]: 964

In [124]: print tau
τ
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Einige Plotting-Libraries unterstützen auch Latex.

Grüße
Gerrit
Mathek
User
Beiträge: 9
Registriert: Dienstag 17. August 2010, 14:58

Danke für die schnellen Antworten.

@ BlackJack

ich hab das mal versucht aber bei mir kommt folgene Meldung:

print tau
UnicodeEncodeError: 'ascii' codec can't encode character u'\u03c4' in position 0: ordinal not in range(128)


Ich kenne mich da null aus...
Vielleicht nützlich: benutze EasyEclipse mit Python 2.6

Lg

Mathek
BlackJack

@Mathek: Das ``print``\en von Unicode klappt nicht immer weil nicht immer automatisch ermittelt werden kann welche Kodierung die Anwendung erwartet, die am anderen Ende von `sys.stdout` die Bytes entgegennimmt.

Du willst es ja aber auch in einem Plot haben, also versuch mal ob Deine verwendete Bibliothek Unicode versteht.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

BlackJack hat geschrieben:Sollte der Quelltext nur ASCII enthalten dürfen, würde ich den Namen des Unicode-Codepoints verwenden, statt der nicht so aussagekräftigen Zahl:

Code: Alles auswählen

In [122]: tau = u'\N{GREEK SMALL LETTER TAU}'
Danke, da wäre ich nie drauf gekommen, dass das geht! :)
Antworten