Warum wird die Variable zu 0 gesetzt, wenn ich mit der Variable rechne?

2 Antworten

Ich kenne mich mit Python nicht aus und kann dir keinen Code liefern, dein Problem ist aber, dass du immer den Konstruktor von Var aufrufst, wenn du die Variable findest, egal ob bei § oder $. Im $-Fall (oder immer) solltest du ints[name] abfragen, ob es schon eine Variable mit dem Namen gibt und dann diese verwenden, und nur wenn diese noch nicht gibt, ein neues Var-Objekt anlegen.

Müsstest du doch aber eigentlich in der Ausgabe sehen, das es bei dem print(ints) dann zwei Objekte mit gleichem Namen im 2. Durchlauf gibt...

Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin

BossWither 
Fragesteller
 11.06.2023, 14:36

Nein, in Python wird der Inhalt vom Dictionary dann einfach Überschrieben.

0
iQa1x  12.06.2023, 07:35
@BossWither

Ok, dann überscreibt er den ints-Eintrag mit einem neuen Objekt. Das ist dann halt trotzdem neu, und damit 0 beim Verarbeiten der 2. Zeile. Mein letzter Satz trifft dann nicht zu.

0

Erwartest du jetzt, dass jemand deinen nahezu unkommentierten Code schrittweise durchklappert, um den (sich wie auch immer äußernden) Fehler zu finden?

Fragen und Antworten, die man vor/beim Debuggen klar haben bzw klären sollte:

  • Was soll das Programm machen?
  • Wie soll es das machen?
  • Was macht es stattdessen?
  • Warum macht es das?

BossWither 
Fragesteller
 11.06.2023, 14:41

Ich habe doch gesagt, dass ich eine Programmiersprache mache und wie der Code funktioniert. Würdest du nur die Namen der Funktionen/Klassen lesen, würdest du auch wissen, welcher Teil vom Code was macht. Ich habe auch gesagt, dass im Dictionary die Variable "Jar" (vom Dictionary ints) sich von 4 zu 6 ändern soll, stattdessen wird 4 zu 0. Und ich weiß nicht warum Python das nicht macht. Nichtmal ChatGPT weiß es und auf Stack Overflow checkt es auch keiner. Deswegen habe ich ja auch diese Frage gestellt.

0
Schachpapa  11.06.2023, 15:21
@BossWither
Ich mache gerade eine Programmiersprache in Python und mache es gerade, so dass man mit integers rechnen kann, aber wenn ich mit der Variable rechne wird sie zu 0.

Sorry, dass ich aus diesem Satz deine Intention nicht herauslesen konnte.

1