Fragen zu Listen und arbeiten mit Modulen

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.
Sirius3
User
Beiträge: 18264
Registriert: Sonntag 21. Oktober 2012, 17:20

Es macht dann Sinn, etwas in mehrere Module aufzuteilen, wenn der Code wirklich lang wird, aber 5 Zeilen ist nicht lang. Und nochmal, wenn Modul, dann mit einem sprechenden Namen, nicht `modul_c`, denn mit `modul_a`, `modul_b`, ... wird nichts übersichtlicher, denn wenn Du eine Funktion suchst, suchst Du nicht mehr nur in einer Datei, sondern mußt mehrere Durchsuchen, weil mit den generischen Namen es gar keine Chance gibt, zu wissen, in welchem Modul nun diese Funktion steht.

Wir wissen nicht, was Du machen willst, aber nochmal, normal ist es, erst irgendwelche Rechnungen zu machen, und dann bei der Ausgabe anzugeben, wie viele Nachkommastellen man haben will.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

@RPi_Fan: Ich habe nicht den Hauch einer Ahnung, was du da erreichen willst. Und wo dein Problem ist. Du scheinst eine sehr komische Vorstellung davon zu haben, was kurz und übersichtlich bedeutet.

Und wer hat denn was an ein Poti geschrieben? Was soll das heissen?
RaPi_Fan
User
Beiträge: 26
Registriert: Mittwoch 10. November 2021, 17:37

Sirius3 hat geschrieben: Donnerstag 6. Januar 2022, 01:29 Es macht dann Sinn, etwas in mehrere Module aufzuteilen, wenn der Code wirklich lang wird
Stimmt, mein Code wird auch lang werden.
Sirius3 hat geschrieben: Donnerstag 6. Januar 2022, 01:29 Und nochmal, wenn Modul, dann mit einem sprechenden Namen, nicht `modul_c`, denn mit `modul_a`, `modul_b`, ... wird nichts übersichtlicher,
Stimmt, im richtigen Code bekommen die Module auch sinnvolle Namen.
Sirius3 hat geschrieben: Donnerstag 6. Januar 2022, 01:29 Wir wissen nicht, was Du machen willst,
Habe ich doch geschrieben. Ich möchte einfach nur meine Liste ins Hauptprogramm bekommen.
Sirius3 hat geschrieben: Donnerstag 6. Januar 2022, 01:29 , normal ist es, erst irgendwelche Rechnungen zu machen, und dann bei der Ausgabe anzugeben, wie viele Nachkommastellen man haben will.
Möglich, das es so normal ist. Da ich aber als Techniker mein Projekt Hardware- und Softwareseitig selbst erstelle, kann ich sehr gut einschätzen, daß die Genauigkeit von float mit einer Nachkommastelle völlig ausreichend ist.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du wiederholst "Liste in mein Hauptprogramm" wie ein Mantra. Durch return wird eine Liste in dein "Hauptprogramm" uebernommen. Ist jetzt mehrfach gezeigt worden. Was daran ist dir unklar?

Und floats haben niemals nur eine Nachkommastelle. Die haben immer soviel, wie die Mantisse es hergibt. Wenn es mathematisch geboten ist, die zb zu runden, kann man das machen. Das aendert aber nichts daran, dass sie IMMER die gleiche Menge an Nachkommastellen vorhalten wird, ob du das willst, oder nicht. Nur bei der *Ausgabe* kann man entscheiden, ob man die beschraenken will. Das aendert sich auch nicht, nur weil du es nicht akzeptieren willst. Das einzige, was du erreichst, wenn du diese Werte vorzeitig in Strings ueberfuehrst, ist, damit spaeter nur fehlertraechtiger arbeiten zu koennen. Denn dann sind sie nicht mehr zum rechnen und vergleichen geeignet. Warum bestehst du also darauf?
Sirius3
User
Beiträge: 18264
Registriert: Sonntag 21. Oktober 2012, 17:20

RaPi_Fan hat geschrieben: Donnerstag 6. Januar 2022, 13:16 Stimmt, mein Code wird auch lang werden.
Solange er noch kurz ist, braucht man sich aber darüber noch keine Gedanken machen.
RaPi_Fan hat geschrieben: Donnerstag 6. Januar 2022, 13:16 Stimmt, im richtigen Code bekommen die Module auch sinnvolle Namen.
Dann gib ihnen jetzt schon richtige Namen, oder lass das mit den Modulen (siehe Punkt 1).
RaPi_Fan hat geschrieben: Donnerstag 6. Januar 2022, 13:16 Habe ich doch geschrieben. Ich möchte einfach nur meine Liste ins Hauptprogramm bekommen.
Und in den Lösungen hier bekommst eine Liste ins Hauptprogramm, daher wissen wir nicht, was noch Dein Problem ist.
RaPi_Fan hat geschrieben: Donnerstag 6. Januar 2022, 13:16 Möglich, das es so normal ist. Da ich aber als Techniker mein Projekt Hardware- und Softwareseitig selbst erstelle, kann ich sehr gut einschätzen, daß die Genauigkeit von float mit einer Nachkommastelle völlig ausreichend ist.
Computer rechnen nicht mit Dezimalstellen, für den Menschen ist eine Darstellung mit einer Nachkommastelle korrekt, und da bleibt Dir nichts anderes übrig, als das bei der Ausgabe anzugeben, sich bei internen Rechnungen darüber Gedanken zu machen, hilft nichts, da Computer anders rechnen.
RaPi_Fan
User
Beiträge: 26
Registriert: Mittwoch 10. November 2021, 17:37

__deets__ hat geschrieben: Donnerstag 6. Januar 2022, 10:19 @RPi_Fan: Ich habe nicht den Hauch einer Ahnung, was du da erreichen willst.
Habe ich doch geschrieben. Ich möchte einfach nur meine Liste ins Hauptprogramm bekommen.
__deets__ hat geschrieben: Donnerstag 6. Januar 2022, 10:19 Und wo dein Problem ist.
Bisher habe ich nur Vorschläge bekommen, wie man anders zum Ziel kommen kann. Leider hat aber kein Vorschlag meine Forderung erfüllt (eine Liste mit richtig formatierten Inhalt)
__deets__ hat geschrieben: Donnerstag 6. Januar 2022, 10:19 Und wer hat denn was an ein Poti geschrieben? Was soll das heissen?
Damit meinte ich ein physikalisches Potentiometer mit der Bezeichnung Nr 6.
RaPi_Fan
User
Beiträge: 26
Registriert: Mittwoch 10. November 2021, 17:37

__deets__ hat geschrieben: Donnerstag 6. Januar 2022, 13:27 Du wiederholst "Liste in mein Hauptprogramm" wie ein Mantra. Durch return wird eine Liste in dein "Hauptprogramm" uebernommen. Ist jetzt mehrfach gezeigt worden. Was daran ist dir unklar?
Das Problem ist, dass es einfach nicht funktioniert. Ich poste später noch einmal meinen aktuellen Code.
__deets__ hat geschrieben: Donnerstag 6. Januar 2022, 13:27 Und floats haben niemals nur eine Nachkommastelle. Die haben immer soviel, wie die Mantisse es hergibt.
Da hast du natürlich recht. Wenn ich aber einen float mit "10.5" fülle, bin ich davon ausgegangen 10.5 zurück zu bekommen. Wahrscheinlich bekomme ich jedoch ohne Formatierung in der Ausgabe 10.500000000 zurück. Das habe ich nicht berücksichtigt. Ich werde die Werte auf integer umstellen.
RaPi_Fan
User
Beiträge: 26
Registriert: Mittwoch 10. November 2021, 17:37

:D Ich habe den Fehler entdeckt! :D

Ich hatte die Rückgabe in [Klammern] gesetzt, dachte das müßte so sein. Ohne Klammern funktionert alles, wie ich es wollte.
Wahrscheinlich habt ihr zuviel Wissen über Python und ich zu wenig, um darauf sofort zu kommen.

Danke für eure Beiträge, gelernt habe ich definitiv dadurch.

RaPi_Fan
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das habe ich dir gesagt. Hier:

viewtopic.php?f=1&t=53730#p399406

"""
Dein Problem hier ist erstmal, dass du das falsche zurueckgibst. potentiometer_ (warum der abschliessende Unterstrich, warum das ueberfluessige erste Element?) ist eine Liste, mit 9 Eintraegen. Aber du gibst die nicht direkt zurueck, sondern packst die Liste nochmal in eine Liste. In deinem Return-Statement. Die hat dann nunmal nur ein Element. Wenn du das laesst, dann geht das auch wie gewuenscht.
"""

Mit Python-Wissen hat das ja nun nicht so viel zu tun. Sondern damit, das, was dir hier so vorgeschlagen wird, auch mal ernstzunehmen...
RaPi_Fan
User
Beiträge: 26
Registriert: Mittwoch 10. November 2021, 17:37

__deets__ hat geschrieben: Donnerstag 6. Januar 2022, 15:33 Aber du gibst die nicht direkt zurueck, sondern packst die Liste nochmal in eine Liste. In deinem Return-Statement.
Das hatte ich gelesen, aber nicht verstanden!
Hättest du mir einfach geraten die Klammern weg zu lassen, hätten wir das ganze abkürzen können.

Wie ich schon schrieb: zuviel Wissen auf deiner Seite, zuwenig auf meiner.
Antworten