Seite 1 von 1

enum

Verfasst: Sonntag 1. September 2024, 01:43
von JerryBergach
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??

Re: enum

Verfasst: Sonntag 1. September 2024, 02:00
von JerryBergach
Ich habe natürlich korrekte Syntax, nur hier nicht: Es muss heissen number(IntEnum): mit den Einrückungen bei den Zahlen.

Re: enum

Verfasst: Sonntag 1. September 2024, 07:23
von sparrow
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.

Re: enum

Verfasst: Sonntag 1. September 2024, 10:52
von JerryBergach
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!

Re: enum

Verfasst: Sonntag 1. September 2024, 11:12
von JerryBergach
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.

Re: enum

Verfasst: Sonntag 1. September 2024, 11:33
von __blackjack__
@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.