2017-07-08 8 views
-6

Lassen Sie uns sagen, ich habe das Array list=[1, 2, 3, 4]Drucken und summieren jedes Element in einem Array in Python

Wie kann ich die folgende Ausgabe erhalten?

1+2+3+4 = 10 

Ich weiß, ich sum (Liste) verwenden könnte, aber ich brauche jeden Punkt auf dem Array mit „+“ gedruckt

+4

Geben Sie den Code ein, den Sie ausprobiert haben. Sie sollten in der Lage sein, eine Schleife zu verwenden, um dies zu erreichen. – Bert

Antwort

-1
print('+'.join(mylist) + ' = ' + str(sum(mylist))) 

Dies sollte für arbeiten Sie

+0

Dies gibt den Fehler 'expected str instance, int found', weil' str.join' nicht in einer Liste von 'int's –

+0

Antworten verwendet werden kann." Do my homework for me "Fragen hilft niemandem außer dem Studenten (und dann nur kurz). Außerdem sind Code-Only-Antworten im Allgemeinen nicht hilfreich (besonders, wenn sie aufgrund eines 'TypeError' nicht funktionieren). Sie sollten erklären, was Ihr Code macht und warum. –

1

Dies ist die am meisten ist pythonische Lösung, die ich mir vorstellen kann; Verwenden Sie die Zeichenfolgenformatierung anstelle des Operators +, wenn Sie Zeichenfolgen verwenden - es ist effizienter und eine gute Angewohnheit, in zu gehen, verwenden Sie map, um die Ganzzahlen auf Zeichenfolgen neu zu ordnen, und str.join, um die Fragezeichenfolge effizient zu erstellen.

numbers = [1, 2, 3, 4] 
print('{} = {}'.format('+'.join(map(str, numbers)), sum(numbers))) 
+1

'(str (Zahl) für Zahl in Zahlen)' könnte durch 'map (str, Zahlen) ersetzt werden' –

+0

Guten Ruf @ Błotosmętek, ich habe meine Antwort jetzt bearbeitet. –

Verwandte Themen