exponential rechnung innerhalb einer schleife

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
jan.b
User
Beiträge: 195
Registriert: Mittwoch 9. August 2017, 17:12

Donnerstag 1. März 2018, 21:59

warum folgender Code nicht funktioniert ist klar:

Code: Alles auswählen

grundwert = int(input("was ist deine zahl?: "))
exponent = int(input("was ist dein exponent?: "))
for i in range(exponent):
    print(grundwert * grundwert)
die variabel "Grundwert" wird zu anfang des zweiten schleifen Durchlaufs nicht mit dem Ergebnis des ersten schleifen durch laufs mal genommen. wie kann ich also innerhalb der schleife die variabel zwischenspeichern, damit daraus ein hochrechner werden kann?

falls ihr einen ganz anderen Ansatz habt, könnt ihr diesen auch gerne nennen.


*(das print kommt natürlich nach der schleife. die Rechnung genügt im Körper)
jb
Sirius3
User
Beiträge: 8095
Registriert: Sonntag 21. Oktober 2012, 17:20

Freitag 2. März 2018, 08:17

@jan.b: wie bei jeder Rechnung. Du mußt (Zwischen)Ergebnisse in Variablen speichern.
jan.b
User
Beiträge: 195
Registriert: Mittwoch 9. August 2017, 17:12

Freitag 2. März 2018, 08:24

Sirius3 hat geschrieben:@jan.b: wie bei jeder Rechnung. Du mußt (Zwischen)Ergebnisse in Variablen speichern.
ich weiß. habe ich ja auch geschrieben. kannst du mir ein kurzes Beispiel machen, wie das geht?
Sirius3
User
Beiträge: 8095
Registriert: Sonntag 21. Oktober 2012, 17:20

Freitag 2. März 2018, 08:53

Code: Alles auswählen

a = 5
b = a
b *= a
scandreb
User
Beiträge: 2
Registriert: Dienstag 27. Februar 2018, 10:39

Freitag 2. März 2018, 08:56

Hallo jan.b,

wie Sirius3 schon geschrieben hat, wäre die Lösung das Zwischenergebnis in einer Variablen zu speichern:

Code: Alles auswählen

zwischenergebnis = grundwert * grundwert
Wobei dann jedoch die Variable zwischenergebnis immer den gleichen Wert enthalten würde.
Bei grundwert = 3 wäre zwischenergebnis immer 9.

Du musst also das zwischenergebnis in die rechnung mit einbeziehen:

Code: Alles auswählen

zwischenergebnis = zwischenergebnis * grundwert
zwischenergebnis muss vorher jedoch mit "grundwert" initialisiert werden.

Hinweis: Es gibt in Python auch den **-Operator, der die beiden Operanden potenziert.

Viele Grüße
scandreb
jan.b
User
Beiträge: 195
Registriert: Mittwoch 9. August 2017, 17:12

Freitag 2. März 2018, 09:24

danke
jan.b
User
Beiträge: 195
Registriert: Mittwoch 9. August 2017, 17:12

Freitag 2. März 2018, 09:27

funktioniert nicht. vielleicht könntest du deinen vorschlag in meinen oben stehenden Code implementieren.
scandreb
User
Beiträge: 2
Registriert: Dienstag 27. Februar 2018, 10:39

Freitag 2. März 2018, 10:01

Schick uns doch deinen Code, der nicht funktioniert. :-)
jan.b
User
Beiträge: 195
Registriert: Mittwoch 9. August 2017, 17:12

Freitag 2. März 2018, 10:23

scandreb hat geschrieben:Schick uns doch deinen Code, der nicht funktioniert. :-)
danke. habe es schon selbst herausgefunden.:

Code: Alles auswählen

import time

grundwert = int(input("was ist deine zahl?: "))
exponent = int(input("was ist dein exponent?: "))

lösung = grundwert
for i in range(exponent -1):
    lösung = lösung * grundwert

print(lösung)
    


Antworten