Tja, jetzt bin ich eigentlich noch verwirrter als vorher. Denn nachdem ich gestern mit einem Freund alles mögliche probiert habe und es nicht hinbekommen hatte, funktioniert es heute ...
Zur Erklärung:
Es handelt sich bei der Geschichte um eine Übung aus dem Buch "Python für Kids":
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#
# politiker.py - Phrasendreschmaschine
# kap05 - Seite 140
from random import choice
subjekt = """DER UNBEDINGTE WILLE
DAS ERKLÄRTE ZIEL
DIE SELBSTVERSTÄNDLICHE PFLICHT
DIE GESCHICHTLICHE AUFGABE
DIE UNERWARTETE GNADE
DIE TIEFE EINSICHT
DIE EINFACHE ABSICHT
DIE SCHLICHTE NOTWENDIGKEIT
DIE EINDEUTIGE ERKENNTNIS
DIE HOHE AMTSPFLICHT"""
weise = """HIER UND JETZT
IN ALLER OFFENHEIT
IN GEMEINSAMER ANSTRENGUNG
ZWISCHEN GESTERN UND MORGEN
OHNE "WENN" UND "ABER"
NOTFALLS IM ALLEINGANG
GEGEN ALLE WIDERSTÄNDE
GANZ UNMISSVERSTÄNDLICH
IN GUT UND BÖSE
AUCH GEGEN DEN ZEITGEIST"""
ziel = """MITEINANDER ZU REDEN
KRAFTVOLL ANZUPACKEN
NACH VORNE ZU BLICKEN
DIE KONTINUITÄT ZU WAHREN
GANZ BEWUSST ÖSTERREICHISCH ZU SEIN
DAS ZIEL ANZUSTREBEN
LETZTLICH ALLEIN ZU SEIN
DAS ICH VOR DAS WIR ZU STELLEN
DEM VATERLAND ZU DIENEN
GANZ EINFACH OBEN ZU BLEIBEN"""
subjektliste = subjekt.split("\n")
weiseliste = weise.split("\n")
zielliste = ziel.split("\n")
print choice(subjektliste) + ", " + choice(weiseliste) + ", " + \
choice(zielliste) + ", IST DAS GEBOT DER STUNDE!"
print
print choice(subjektliste) + ", " + choice(weiseliste) + ", " + \
choice(zielliste) + ", IST DAS GEBOT DER STUNDE!"
print
print choice(subjektliste) + ", " + choice(weiseliste) + ", " + \
choice(zielliste) + ", IST DAS GEBOT DER STUNDE!"
print
raw_input()
Und dort war es so, dass, wenn ich einfach einen der Strings ausgegeben habe, alles in Ordnung war. Nach der Bearbeitung durch split und choice aber die Umlaute falsch dargestellt wurden.
Seit heute morgen geht es aber!
Keine Ahnung, wahrscheinlich war es einfach nur eine Editoreinstellung (Geany), eine Dokumenteneinstellung oder irgend etwas, was dann erst durch einen Neustart geändert wurde. Wie gesagt, keine Ahnung ...
@colt
Wenn ich übrigens ein "u" vor einen der Strings setze, bekomme ich eine Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
File "politiker.py", line 50, in <module>
choice(zielliste) + ", IST DAS GEBOT DER STUNDE!"
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 18: ordinal not in range(128)
Ich danke euch.