Seite 1 von 1

Deprecation Warning im Dos-Fenster

Verfasst: Samstag 5. Mai 2007, 23:02
von drewsilson
Hallo,
Hab ne kleine Frage:

bekomme bei einem meiner Programme im DOS-Window (und zwar nur da) immer folgende (von mir verallgemeinerte) Fehlermeldung:
programm.py:338: DeprecationWarning: integer argument expected, got
float for x in range(anynumber)
Das Programm läuft ansonsten fehlerfrei ab, bloß erscheint diese hässliche Meldung.
Starte ich das ganze im Idle, passiert das nicht.

Bin etwas ratlos, da anynumber sogar eine Ganzzahl und keine Dezimalzahl ist.

Liegts vielleicht am Coding?

Freu mich auf Eure Antworten,
Micha

Mehr code bitte

Verfasst: Samstag 5. Mai 2007, 23:47
von sunmountain
Ansonsten, was sagt type(anynumber) ?

Re: Deprecation Warning im Dos-Fenster

Verfasst: Sonntag 6. Mai 2007, 07:56
von gerold
drewsilson hat geschrieben:folgende (von mir verallgemeinerte) Fehlermeldung
Hallo Micha!

Diese Fehlermeldungen sagen meist alles aus was ein Profi wissen muss. Eine vereinfachte/verallgemeinerte Fehlermeldung erschwert die Fehlersuche enorm. Teile uns beim nächsten Mal bitte die komplette Meldung mit.

Und wie sunmountain schon geschrieben hat:
Prüfe oberhalb der Schleife mit ``print type(anynumber)`` ob ``anynumber`` auch wirklich vom Typ "Integer" oder "Long" ist.
Mit ``print anynumber`` kannst du dir im Programmablauf ja auch noch ansehen, welche Zahl an die Variable gebunden wurde. Wenn es vom Programmablauf her kein Problem gibt, dann genügt es wahrscheinlich, die Zahl ``anynumber`` für die Schleife einfach in eine Integer umzuwandeln:

Code: Alles auswählen

float for x in range(int(anynumber))
Aber das ist davon abhängig, **warum** anynumber keine Integer ist...

mfg
Gerold
:-)

Verfasst: Mittwoch 9. Mai 2007, 13:17
von drewsilson
mit int(anynumber)
bekomme ich das tatsächlich weg. type sagt, dass anynumber eine float ist.
das wär also geklärt.

rein interessehalber würde ich aber trotdem gerne wissen, wieso ich diese meldung nur im dos-fenster und nicht in idle bekomme?

@ gerold: die fehlermeldung ist 1:1 übernommen, lediglich anynumber usw. habe ich ersetzt.

grüße
micha

Verfasst: Mittwoch 9. Mai 2007, 20:21
von mq
Blind geraten: idle leitet sys.stderr nicht um?

Verfasst: Mittwoch 9. Mai 2007, 20:51
von gerold
lumax hat geschrieben:Blind geraten: idle leitet sys.stderr nicht um?
Hi Lumax!

Ich habe zu spät darauf geachtet. Das ist nur eine Warnung. Die Warnungen sind nicht länger.

mfg
Gerold
:-)