Hinzufügen von Benutzer-input zu einem Wörterbuch
Habe ich schon versucht die letzten paar Stunden und ich bekomme einfach nicht den code richtig. Ich will Lesen, in der die Eingaben des Benutzers (z.B. 'rot', 'blau', 'grün', 'rot') und spuckte die Farbe und die Anzahl, die Farbe in einem Wörterbuch.
Hier ist mein code - ich weiß etwas, das ist definitiv nicht richtig, vor allem in den Aufbau des Wörterbuchs (es hat auch eine while-Schleife um kontinuierlich die Fragen für die Eingabe, bis ein Leerzeichen eingegeben vom Benutzer)
EINGABE: 'rot', 'blau', 'grün', 'rot'
dict = {}
car_colours = input("Car: ")
frequency = 0
while car_colours != '':
dict['frequency'] = car_colours.count(car_colours)
dict['colours'] = car_colours
frequency = frequency + 1
car_colours = input("Car: ")
print(dict)
Ich auch übernehmen, ich brauche eine for-Schleife, um die gewünschte Ausgabe erhalten unten?
GEWÜNSCHTE AUSGABE
Cars that are red: 2
Cars that are blue: 1
Ich bin eigentlich nicht mal sicher, ob ich auch diesen code benötigen, was ich schon oben:
frequency = 0
frequency = frequency + 1
Vielen Dank für jede Hilfe!!!
- Bitte Einrücken der code - es ist unmöglich zu sagen, wo die
while
lops endet nun. - Was wollen Sie speichern im dict? Können Sie speichern nur einen Wert für jeden eindeutigen Schlüssel in einer Zeit.
- Sorry @Wojciech Ptak code wurde eingerückt jetzt. Ich möchte store 'Farbe' und dann 'frequency' wird der Wert in das dictionary. Also für jede Farbe zählen, wie oft es nur geht, eingegeben vom Benutzer (d.h. die Frequenz).
- Blick in die Counter-Klasse
- Versuchen Sie zuerst, läuft ein minimal-Programm, das nicht enthalten ist eine Schleife, fragt einfach die user mal, speichert, die die Farbe in einem dict und druckt es. Dies könnte helfen, Sie lernen, was Los ist, weil - ehrlich gesagt - der code muss von Grund auf neu geschrieben.
- Yep, ich bin immer noch sehr sehr viel lernen, aber du hast Recht - dieser Kurs, den ich mache, der von uns verlangt, Dinge zu tun, die weit über ein Anfänger-Programmierer. Und genau wie Sie gesagt haben, Sie beginnen, sich zu verirren in Ihrem eigenen code... sehr frustrierend, aber danke für den Tipp 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt nur wenige Themen, die in Ihrem Wörterbuch-setup, wie Sie vermutete.
'dict' ist ein Schlüsselwort in python, schlage ich vor, um zu vermeiden, dass als Variablen-Namen. Python-dictionaries sind nicht bestellt in der Regel. Anstatt die Frequenz und Farbe Namen getrennt speichern Sie den Namen der Farbe als Schlüssel und der Anzahl als Wert.
Hier ist der code mit den oben genannten änderungen :
Hier ist die sample-test :
Warum nicht verwenden Sie eine geeignete Datenstruktur als
dict
?Ergebnis:
Hinweis: Auch wenn die
int
imcar_count = defaultdict(int)
ist nicht richtig formatiert, es ist ein Datentyp. Diedefaultdict
erstrecktdict
so dass jeder index, der nicht abgerufen wurde, wird, bevor automatisch zugewiesen bekommt der erste Wert von diesem Typ.