junii hat geschrieben:danke für die hinweise. ich werde nochmal von vorn anfangen und mich mit diesen ausdrücken vertraut machen und die aufgaben dann für nächste woche bearbeiten.
Ich habe hier mal eine simple Logik verwendet.
number ist die Zahl bis zu der berechnet werden soll.
result nimmt die Summe auf. In
infotext wird der auszugebende Text aufgebaut.
Code: Alles auswählen
number = 5
result = 0
infotext = ''
for i in range(1, number + 1):
# Ergebnisse aufaddieren
result += i * i
# Ausgabetext zusammensetzen
infotext += str(i * i) + ' + '
# Mal schauen wie es aussieht
print(infotext)
# letztes Plus-Zeichen und Leerzeichen abschneiden und die Summe ergänzen
infotext = infotext[:-2] + '= ' + str(result)
print(infotext)
Das funktioniert, ist aber nicht besonders schön.
Alternativ kommt jetzt hier eine sehr kurze Variante in der alle Zahlen in einer Liste gesammelt werden. Was beim
print passiert mag für einen Anfänger erst einmal erschreckend aussehen ist aber eigentlich gar nicht dramatisch. Das ließe sich für eine anfängliche Übersichtlichkeit auch durchaus auf mehrere Zeilen verteilen. Das Wesentliche ist der Ansatz alle Einzelergebnisse in einer Liste zu sammeln und dann damit zu arbeiten.
Code: Alles auswählen
number = 5
results = [i * i for i in range(1, number + 1)]
print('{} = {}'.format(' + '.join(map(str, results))), (sum(results)))