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.
Ich bekomme in einem Skript diesen Fehler ausgeworfen, ich habe aber jeder nicht natürlichen Zahl "float" zugeordnet. Wie kann ich mir anzeigen lassen in welchem file/in welcher Zeile das Problem produziert wird.
@n00b@r00t: Du bekommst ja nicht nur diese eine Zeile sondern einen Traceback. An dem kannst Du die Stelle finden wo das Problem in Deinem Code seinen Ursprung hat.
Was bedeutet „ich habe aber jeder nicht natürlichen Zahl "float" zugeordnet“?
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
__blackjack__ hat geschrieben: Dienstag 6. November 2018, 12:08
@n00b@r00t: Du bekommst ja nicht nur diese eine Zeile sondern einen Traceback. An dem kannst Du die Stelle finden wo das Problem in Deinem Code seinen Ursprung hat.
Was bedeutet „ich habe aber jeder nicht natürlichen Zahl "float" zugeordnet“?
Das ist die ganze Fehlermeldung die ich bekomme:
Und das meine ich damit:
Ich bekomme leider nirgendwo angezeigt wo der Fehler genau liegt (offensichtlich in der bitmex_bot, aber wo genau...)
Das ist augenscheinlich nicht dein Code, sondern etwas, das du irgendwoher hast. Und da faengt einer die Fehlermeldung ab, und gibt nur wenig hilfreiche Teile aus. Die Stelle im Code musst du finden, und dort einfach die Fehlerbehandlung veraendern. Wer schreibt denn den Bitmex-Bot? Frag den doch?
@n00b@r00t: Du hast also die ganze Zahl 0 und machst daraus in voller Absicht mit `float()` eine Gleitkommazahl. Warum machst Du das wenn Du doch weisst das man die dann nicht als Index in eine Liste verwenden kann? Das macht keinen Sinn. Genau wie das addieren einer 0 nicht wirklich Sinn macht.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
__blackjack__ hat geschrieben: Dienstag 6. November 2018, 12:54
@n00b@r00t: Du hast also die ganze Zahl 0 und machst daraus in voller Absicht mit `float()` eine Gleitkommazahl. Warum machst Du das wenn Du doch weisst das man die dann nicht als Index in eine Liste verwenden kann? Das macht keinen Sinn. Genau wie das addieren einer 0 nicht wirklich Sinn macht.
Weil ich ein Noob bin
Was muss ich also tun? Ich brauche diese Bruchzahlen.
@n00b@r00t: ohne zu wissen, was Du eigentlich machen willst, kann man schlecht Code, den man nicht kennt, korrigieren. Ohne dass Du anfängst Python zu lernen, werden Dir die Hilfestellungen, die wir Dir geben können, aber auch nicht weit bringen.
@n00b@r00t: Du hast da keine Bruchzahl sondern einfach eine 0 bzw. durch das `float()` eine 0.0. Und wenn Du einen Dezimalbruch hättest, kannst Du sie nicht als Index in eine Liste verwenden. Wie sollte das denn überhaupt gehen mit einem Dezimalbruch als Index? Was sollte das denn Deiner Meinung nach bedeuten?
Arbeite am besten erst einmal das Tutorial in der Python-Dokumentation durch. Und dann beschreib mal Dein Problem, und nicht die Probleme die Du bei dem Code hast, von dem Du glaubst es wäre eine Lösung für Dein Problem. Bitte nicht als Bilder, sondern als Quelltext. Auch Textfehlermeldungen sind besser als Text zu lesen.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
Es geht hier darum Orders per Api an eine Börse zu senden. Offenbar ist hier nur vorgesehen auf ganzen Beträgen zu handeln (100, 101, 102...) ich möchte aber auch auf den Centbeträgen handeln (100, 100.05, 100.10...).
__blackjack__ hat geschrieben: Dienstag 6. November 2018, 16:13
Warum wird ein Betrag als Index in eine Liste verwendet?
das weiss ich nicht, sinn des skripts ist es mehrere Orders mit verschiedenen Preisen zu generieren (aktueller Preis +1, +2, +3...) ich möchte aber +0.5, +1, +1,5...
Dann stell einen Issue in dem dazugehoerigen github-Repository ein. Dann kann der Autor dir das als Feature bauen. Kannst ihm ja Bitcoin dafuer versprechen. Es ist durchaus einiges an Arbeit, sich mit diesem Code auseinander zu setzen, und ihm neue Tricks beizubringen. Da musst du halt Python fuer koennen.
Das Problem ist, dass die betreffende Codestelle so nicht auffindbar ist. Dazu muss man
- die software zum laufen bringen (hast du. wir nicht).
- die stelle finden, an der das logging des fehlers stattfindet, und dieses logging entfernen, und stattdessen den vollen Fehler bekommen.
Die Stelle, die Du hier zeigst, hat nirgends eine Einschränkung, ob man da nun Brüche (Dezimal) oder Fließkommazahlen verwendet. Wie schon geschrieben, Du mußt die Stelle des Fehlers finden, und von dort aus Rückwärts suchen, wo ein "falscher" Wert eingesteuert wird.