2016-09-06 5 views
-4

Ich frage mich, wie dieses Problem zu lösen:Grok Lernen Python-Programmierung

Sie sind neugierig auf den beliebtesten und am wenigsten beliebte Farben von Autos und entscheiden, ein Programm zu schreiben, die Häufigkeit von Autofarben zu berechnen.

Ihr Programm sollte in der Farbe jedes Autos lesen, bis eine Leerzeile eingegeben wird, und dann (in beliebiger Reihenfolge) alle verschiedenen Farben des Autos mit Zählwerten ausdrucken.

Zum Beispiel:

Car: red 
Car: white 
Car: blue 
Car: green 
Car: white 
Car: silver 
Car: 
Cars that are green: 1 
Cars that are silver: 1 
Cars that are red: 1 
Cars that are white: 2 
Cars that are blue: 1 

Hier ist ein weiteres Beispiel:

Car: red 
Car: white 
Car: white 
Car: red 
Car: white 
Car: white 
Car: white 
Car: 
Cars that are red: 2 
Cars that are white: 5 
+3

Es sieht aus wie Sie wollen, dass wir etwas Code für Sie schreiben. Während viele Benutzer bereit sind, Code für einen in Not geratenen Coder zu produzieren, helfen sie normalerweise nur, wenn das Poster bereits versucht hat, das Problem selbst zu lösen. Eine gute Möglichkeit, diesen Aufwand zu demonstrieren, besteht darin, den Code, den Sie bisher geschrieben haben, die Beispieleingabe (falls vorhanden), die erwartete Ausgabe und die Ausgabe, die Sie tatsächlich erhalten (Ausgabe, Rückverfolgung usw.), einzubeziehen. Je mehr Details Sie angeben, desto mehr Antworten erhalten Sie wahrscheinlich. Überprüfen Sie die [FAQ] (http://stackoverflow.com/tour) und [Wie zu fragen] (http://stackoverflow.com/questions/how-to-ask). – TigerhawkT3

Antwort

0

Sie haben mit einem Sentinel-Wert input mehrmals aufrufen, dann die Objekte zählen, dann iteriert über die Tasten und Werte, und drucken Sie dann eine formatierte Zeichenfolge für jede Zählung. Ziemlich einfach mit einer Zeile Code:

print(*('Cars that are {}: {}'.format(*item) for item in __import__('collections').Counter(iter(lambda: input('Car: '), '')).items()), sep='\n')