enum

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JerryBergach
User
Beiträge: 5
Registriert: Sonntag 1. September 2024, 01:20

Hallo Leute,
ich bin neu hier, habe schon viel in C++ programmiert und scheitere an Visual Studio 2022 (!) mit Code, der in vielen Tutorials und Büchern steht:
from enum import IntEnum
class number (IntEnum)
ONE = 1
TWO = 2
THREE = 3
Alle anderen Beispiele sind genauso aufgebaut. Im Lokalfenster zeigt der Debugger der Reihe nach die Zahlenwerte 1, 2, 3 - dann springt de Debugger zurück in die Zeile class number und bringt folgende Fehlermeldung - bei jedem Beispiel! :
int() argument must be a string, a bytes-like object or a real number, not a 'dict'.

Wer kann mir das bitte erklären? Wo ist ein dict-Typ??
JerryBergach
User
Beiträge: 5
Registriert: Sonntag 1. September 2024, 01:20

Ich habe natürlich korrekte Syntax, nur hier nicht: Es muss heissen number(IntEnum): mit den Einrückungen bei den Zahlen.
Benutzeravatar
sparrow
User
Beiträge: 4526
Registriert: Freitag 17. April 2009, 10:28

Dieser Code ist in Python korrek:

Code: Alles auswählen

class Number(IntEnum):
    ONE = 1
    TWO = 2
    THREE = 3
Der kann also nicht ursächlich sein.
Deshalb zeig bitte vollständigen Code, der den Fehler herbei führt und die vollständige Fehlermeldung inklusive Stacktrace den genau dieser Code ausgelöst hat.

Und Code bitte in Code-Tags. Die erscheinen automatisch, wenn du den </> Button im.vollständigen Editor anklickst.

Wenn das nur ein Fehler in deiner IDE/Editor ist, dann ist der wohl kaputt oder falsch konfiguriert.

Zum Code:
Kassennamen schreibt man CamelCase, hinter drn Klassennmen und die öffnende Klammer gehört kein Leerzeichen.
JerryBergach
User
Beiträge: 5
Registriert: Sonntag 1. September 2024, 01:20

Danke für die Mühe! Ich habe die dusselige Fehlermeldung auch nicht verstanden und keine Zweifel am Code gehabt. Beim erneuten Öffnen ging es korrekt. Der Fehler hängt wohl mit der Speicherverwaltung (Projekt - Datei) zusammen. Da macht mir VS keine Freude!
JerryBergach
User
Beiträge: 5
Registriert: Sonntag 1. September 2024, 01:20

Ich habe noch etwas entdeckt: Wenn ich den Debugger im Einzelschritt durchtaste, kommt die Fehlermeldung sofort!
Wenn ich dagegen ''Debugger starten' aktiviere, läuft das Programm einwandfrei! Ist halt Microsoft.
Benutzeravatar
__blackjack__
User
Beiträge: 14000
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@JerryBergach: Manchmal können IDEs/Werkzeuge zur statischen Prüfung aber auch nicht wirklich etwas dafür wenn sie nicht erkennen was da passiert, insbesondere wenn der Code mit ”Magie” verbunden ist, wie bei `enum`. Wirklich glauben kann man halt nur echten Fehlern die tatsächlich auftreten.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Antworten