Seite 1 von 1

Python Ausgabe

Verfasst: Donnerstag 1. Dezember 2005, 22:35
von kylie007
Hallo,
wieso gibt mir Python bei diesem Programm:

Code: Alles auswählen

D="A dictionary is a mutable unordered collection of key/item pairs"
DS="Lists, sets,tuples,dictionaries,queues and stacks are data structures"
dic={"1":"k","b":5,2:dict([tuple((-1,""))]),"3":4}

print dic[dic["3"]/2][-1*dic["b"]/5]
print "o"+dic[1]

bei:
<print dic[dic["3"]/2][-1*dic["b"]/5]>
nichts aus und bei

<print "o"+dic[1]>
KeyError: 1 aus???



Könnt ihr mir helfen? Danke

Edit (Leonidas): Code in Python-Tags gesetzt.

Re: Python Ausgabe

Verfasst: Donnerstag 1. Dezember 2005, 23:22
von BlackJack
kylie007 hat geschrieben: wieso gibt mir Python bei diesem Programm:

dic={"1":"k","b":5,2:dict([tuple((-1,""))]),"3":4}

print dic[dic["3"]/2][-1*dic["b"]/5]
print "o"+dic[1]
Wer schreibt den solch kranken Quelltext!?
bei:
<print dic[dic["3"]/2][-1*dic["b"]/5]>
nichts aus und bei
Es wird etwas ausgegeben! Was ausgegeben wird, solltest Du wohl besser selbst herausfinden. Werte den Ausdruck doch einfach mal Stück für Stück in Gedanken aus.

Direkt nach dem ``print`` steht ``dic[dic["3"]/2]``. Das ist wie bei Matheformeln, man ersetzt von innen heraus einfach die Teilausdrücke mit ihrem Ergebnis. ``dic["3"]`` bedeutet: Hole den Wert zum Schlüssel "3" aus dem Dictionary `dic`. Das ist eine 4. Also bleibt ``dic[4/2]``. Daraus wird dann ``dic[2]``, und so weiter.
<print "o"+dic[1]>
KeyError: 1 aus???
Einen `KeyError` bekommt man bei Dictionaries, wenn man versucht auf einen Schlüssel zuzugreifen, der nicht im Dictionary enthalten ist.
Könnt ihr mir helfen? Danke
Klar, mit einem guten Rat: Lass Deine Hausaufgaben nicht von anderen machen, dann lernst Du nämlich nichts dabei. ;-)