2016-11-21 6 views

Antwort

1

Zuerst benutzen Sie keinen Namen wie list, es maskiert den integrierten Namen list [Siehe: Built-in Methods] und dass auf einige geringfügige Fehler führen kann.

Danach gibt es Möglichkeiten, dies zu tun. Die entscheidende Sache zu beachten ist, dass Objekte wie Strings kommen mit einer Fülle von Methoden [Siehe: String Methods], die auf sie handeln. Eine dieser Methoden ist str.count(sub), die zählt, wie oft sub in Ihrer Zeichenfolge auftritt.

lst = ('+','-','*','/') 
string = "33+33-33*33/33" 
for i in lst: 
    print("Item ", i, " occured", str(string.count(i)), "times") 

str(string.count(i)) transformiert das ganzzahlige Ergebnis von string.count zu einem str Objekt, so dass es durch print gedruckt werden kann:

So, eine Zählung für jedes Element in lst Schaffung könnte durch die Verwendung einer for Schleife erfolgen.

Dies gibt:

Item + occured 1 times 
Item - occured 1 times 
Item * occured 1 times 
Item/occured 1 times 

Nachdem sie mehr daran gewöhnt, Python Sie ein Verständnis verwenden könnte eine Liste der Ergebnisse zu erstellen und sie zu print liefern:

print(*["Item {} occured {} times".format(x, string.count(x)) for x in lst], sep='\n') 

, die ein ähnliches druckt Ergebnis.

Schließlich stellen Sie sicher, dass Sie read the Tutorial auf der Python-Dokumentationswebsite verfügbar sind, es wird Ihnen helfen, sich mit der Sprache vertraut zu machen.

+0

Können Sie bitte einen Weg hinzufügen, wo die Gesamtzeit angezeigt wird? Auch danke für deine Antwort, es war hilfreich –

Verwandte Themen