python befehl um letzte ausgabe als variable zu definieren?

GodTuberGoku  22.01.2024, 13:27

Kannst du ein Beispiel dazu geben?

Bruhv 
Fragesteller
 22.01.2024, 13:28

also wenn meine letzte ausgabe 5 war zum beispiel "x = letzte ausgabe + 2" und dann wär das ergebnis 7

1 Antwort

Kannst es dir ja einfach in einer lokalen Variable speichern

x = 2 + 3; //x = 5

und dann damit weiter rechnen...

x = x + 2; //x = 7

Ober verstehe ich deine Frage falsch?

Woher ich das weiß:Berufserfahrung – Ich arbeite als Softwareentwickler
Bruhv 
Fragesteller
 22.01.2024, 13:43

ich möchte halt nachdem ich das erste ausgerechnet habe die variable x ändern also zum beispiel x = 2. das programm soll sich aber merken, dass ich vorher 5 raushatte und dann als ergebnis "das alte ergebnis von x" + "das neue ergebnis von x" rechnen (also dann 7). hoffe du verstehst was ich meine

0
GodTuberGoku  22.01.2024, 13:46
@Bruhv

ah okay, dann solltest du hierfür eine zweite Variable benutzen, in der du das "alte" x abspeicherst.
x = 2 + 3; //x = 5

y = x; //y = 5, x = 5

x = 2; //x = 2, y = 5

x = x + y; //x = 7

Hoffe habe dich jetzt richtig verstanden :D

0
Bruhv 
Fragesteller
 22.01.2024, 13:54
@GodTuberGoku

aber müsste ich dann nicht für jedes mal wenn ich x ändern will eine neue zeile code schreiben, um das neue ergebnis abzuspeichern? ich will das immer wiederholen können also als nächstes z.b. für "x = 3" eintragen und als ergebnis 10 rausbekommen, weil mein letztes ergebnis 7 war. kann man das nicht so automatisieren, dass man mit dem letzten ergebnis in der ausgabe rechnet, statt immer wieder eine neue zeile für x zu schreiben?

0
GodTuberGoku  22.01.2024, 14:01
@Bruhv

kannst das sonst natürlich in einer for Schleife machen:

Ich gehe jetzt mal vom Beispiel aus, dass du die Variable x immer weiter mit einer höher werdenen Zahl addieren willst:

x = 0;

for i in range (1, 10):
x = x + i;
print(x);

Ausgabe hier wäre wohl:

1
3
6
10
15
21
28
36
45
55

Sonst könntest du dafür auch eine kleine Funktion schreiben die das für dich macht.

Eigentlich geht es doch auch nur darum, die Variable x mit einer Zahl zu addieren. Warum speicherst du dir das "neue" x extra ab und addierst nicht einfach die neue Zahl auf das "alte" x?

0
GodTuberGoku  22.01.2024, 14:05
@GodTuberGoku

falls ich dich hier immer noch missverstehe, wäre es vielleicht hilfreich wenn du mir ein komplettes Beispiel (mit mehreren Schritten in denen du x immer weiter addieren willst) schickst.

0
Bruhv 
Fragesteller
 22.01.2024, 14:15
@GodTuberGoku

ich möchte ein programm schreiben, das mir mein gehalt ausrechnet. ich habe definiert, dass eine stunde 10€ sind also wenn ich x ( stunden) = 5 eingebe soll die ausgabe 50€ sein. ich will aber auch mein gesamtgehalt für den monat anzeigen lassen also wenn ich am nächsten tag x = 6 eingebe will ich 60€ rausbekommen und gesamtgehalt 110€ (also altes ergebnis + neues ergebnis) ich könnte das natürlich auch selbst rechnen aber hätte gern, dass das automatisch passiert. ich glaub ich drück mich ein bisschen unverständlich aus, tut mir leid kenne mich nicht mit programmieren aus :/

0
GodTuberGoku  22.01.2024, 14:44
@Bruhv

Wenn du das Programm Tagesübergreifend benutzen willst, dann musst du dein bisheriges Gesamtgehalt natürlich lokal auf deinem Rechner oder Cloud speichern. Ich gehe aber davon aus, dass du das nicht willst :D.

Du solltest dir hierfür am besten eine Klasse in Python machen. Sowas wie: "Gehaltsrechner". Diese Klasse bekommt dann eine Variable (gesamtgehalt) und eine Funktion (rechne_gehalt). Die Klassenvariable ist wichtig, damit du auf diese überall in der Klasse zugreifen kannst.

Der rechne_gehalt Funktion übergibst du dann immer die Stunden (x) die du gearbeitet hast. Diese rechnet dann x * 10 (wegen 10€ pro Stunde) und addiert das auf die Klassenvariable "gesamtgehalt". Am Ende gibt sie dir dein Tagesgehalt und jetziges gesamtgehalt aus.

Da dies eine Klassenvariable ist wird diese innerhalb des Programms gespeichert und du musst sie nicht immer komplett neu berechnen.

So könnte das Programm ungefähr aussehen:

class Gehaltsrechner:
def __init__(self):
self.gesamtgehalt = 0 //deklaration für dein Gesamtgehalt

def rechne_gehalt(self,x):
tagesgehalt = x * 10 //Multipliziert deine Stunden mit 10 (Stundenlohn)
self.gesamtgehalt += tagesgehalt //Addiert gesamtgehalt mit tagesgehalt
print(f"Gehalt für {x} Stunde(n): {gehalt}€") //Gibt Tagesgehalt aus
print(f"Gesamtgehalt: {self.gesamtgehalt}€") //Gibt gesamtgehalt aus

Das hier schreibst du dann außerhalb der Klasse (der eigentliche Code der ausgeführt wird):

gehalt = Gehaltsrechner() //Objekt der Klasse, damit du sie verwenden kannst
while True:
eingabe = input("Geben Sie die Anzahl der gearbeiteten Stunden ein (Oder 'quit' zum Beenden): ") //Hier gibst du deine Stunden ein, oder quit
if eingabe.lower() == 'quit': //Falls quit, wird das Programm beendet
break
else:
try:
stunden = int(eingabe) //Hier wird sichergestellt, dass die Eingabe auch ein Integer ist und der "stunden" variable zugewiesen
gehalt.rechne_gehalt(stunden) //Jetzt wird unsere eben erstelle Funktion mit der Stundenanzahl aufgerufen
except ValueError:
print("Ungültige Eingabe, bitte versuchen Sie es erneut.") //Falls die Eingabe kein Integer war, gibts einen Fehler für den User und er darf nochmal :D

Hoffe konnte dir damit weiterhelfen :D Habe versucht alles so gut wie möglich zu erklären!

1
Bruhv 
Fragesteller
 22.01.2024, 15:38
@GodTuberGoku

vielen dank für die ausführliche erklärung, werde mir das jetzt alles schritt für schritt angucken und versuchen zu verstehen, hast mir echt weiter geholfen

0
GodTuberGoku  22.01.2024, 15:39
@Bruhv

Kein Problem, schreib einfach wenn noch was ist :D
Ist nur ein bisschen schade, dass man auf gutefrage die Einrückungen nicht sehen kann, hoffe verstehst den code trotzdem!

0
Erzesel  23.01.2024, 07:24
@GodTuberGoku
gutefrage die Einrückungen nicht sehen kann

...doch kann man. Dafür gibt's die Codebox . Im Kommentareditor rechts auf den Tt-Button klicken -> ...-Menü -> </> -Button.

Blah
  Blubb
  Muh
0