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.