Seite 1 von 1

Dictionary Value printen funktioniert nicht

Verfasst: Dienstag 12. April 2016, 16:23
von Sphere
Hey liebes Python-Forum,
in den letzten Stunden hänge ich an diesem Fehler:
Mein Programm soll sich Seriennamen und die dazu gehörige Season und Episode merken, bei der man aufgehört hat zu schauen.
Mir persönlich passiert es sehr oft, dass ich eine Serie weiter gucken möchte und vergessen habe welche Episode ich zuletzt geschaut habe, deswegen wollte ich mir dieses Programm schreiben, um mir die lästige Merkarbeit zu ersparen.

Kommen wir zu meinem Fehler.
Ab einem gewissen Punkt im Programm möchte ich durch einen User Input den Key raussuchen, mit dem ich an die Value (In diesem Fall Season und Episode) rankomme um sie dann dem User auszuspucken.
Doch egal wie ich es probiere, es kommt nichts dabei zustande.
Das Program möchte mir einfach nicht die Value meiner Dictionary ausspucken und ich weiß echt nicht mehr weiter, deswegen hoffe ich auf Hilfe von diesem Forum.

Denkanstöße würde ich sehr schätzen um mir bei diesem Problem zu helfen!

Hier der Codeauszug, zu der Problemstelle:

Code: Alles auswählen

look_series = input("What Series do you want to look up?: ")

try:
    for key in series_list.keys():
        if series_list[key] == look_series:
            result.append(key)

    for res in result:
        print (res)

except ValueError:
    print ("Series with that name was not found, how about you create a new one with that name!")
Wissenswert ist noch, dass ich eine Dictionary und eine Liste für diesen Fall am Anfang erstellt habe.
series_list = {}
result = []

Re: Dictionary Value printen funktioniert nicht

Verfasst: Dienstag 12. April 2016, 16:33
von BlackJack
@Sphere: Du hast ein leeres Wörterbuch und wunderst Dich das Du da keine Werte draus ausgeben kannst?

Also wenn ich mir den Quelltext so anschaue dann solltest Du vielleicht mal die Grundlagen lernen. Der Code macht, wenn man verstanden hätte was ein Wörterbuch ist und wie das mit Schlüsseln und Werten funktioniert, absolut keinen Sinn! Warum ist `result` eine Liste? Wie müsste denn das Wörterbuch und das die Benutzereingabe aussehen wenn da jemals mehr als ein Wert in `result` soll?

Und an welcher Stelle und warum sollte da ein `ValueError` ausgelöst werden?

Edit: Okay, ich habe den Quelltext falsch verstanden, der ist noch verquerer als ich auf den ersten Blick gesehen habe, es kann doch sein, das `result` mehr als ein Element enthält. Jetzt wäre ich aber sehr neugierig was hier Schlüssel und was Werte sind, und *warum*. Aus dem Namen wird das nicht klar, und ein Wörterbuch `irgendwas_liste` zu nennen ist grob fahrlässig. Grunddatentypen sollten üblicherweise sowieso nicht in Namen enthalten sein.

Re: Dictionary Value printen funktioniert nicht

Verfasst: Dienstag 12. April 2016, 16:46
von Sphere

Code: Alles auswählen

if user_decision == "new" or user_decision == "New":
    print (" ")
    print ("What is the name of your Series?: ")
    new_series = input()
    print ("At what Season and Episode have you stopped watching? [Type like this: Season: x, Episode: x]")
    new_episode = input()

    #saving the user inputs into the dictionary
    series_list[new_series] = new_episode

print (" ")
print (series_list)
print (" ")
look_series = input("What Series do you want to look up?: ")

try:
    for key in series_list.keys():
        if series_list[key] == look_series:
            result.append(key)

    for res in result:
        print (res)

except ValueError:
    print ("Series with that name was not found, how about you create a new one with that name!")
Der Code sollte das alles glaube bisschen Transparenter machen, ich programmiere noch nicht so lange also ist es mehr als wahrscheinlich das manche Sachen noch nicht perfekten Sinn ergeben.

Re: Dictionary Value printen funktioniert nicht

Verfasst: Dienstag 12. April 2016, 16:55
von Sphere
Aber ehm .. danke für die "nette" Hilfe, ich setze mich da jetzt selber wieder drann.

Re: Dictionary Value printen funktioniert nicht

Verfasst: Dienstag 12. April 2016, 17:05
von BlackJack
@Sphere: Entschuldige wenn es nicht so nett rüber kommt, aber da fehlen einfach Grundlagen die zu genüge in Büchern und Grundlagentutorials beschrieben werden. Es macht wenig Sinn wenn Dir hier jemand die grundlegende Funktionsweise von einem Wörterbuch erklärt. Das musst Du letztendlich selber lernen, ausprobieren, und verstehen. Das kann Dir keiner abnehmen.