Posts by Mario Be

    Und mal wieder ich....

    Ich bin gerade bei Funktionen.

    Ich im Buch ist ein Beispielcode der mich etwas verwirrt, denn ich meine gelesen zu haben, dass immer erst Module importiert werden, dann Funktionen definiert. Vor allem wenn die Funktionen die Module nutzen.


    Im Beispiel wird erst ein Funktion mit random.randint definiert, und erst danach wird das Modul random importiert.


    Ich meine Ok, die Funktion wird ja erst später im Code aufgerufen und ausgeführt als das Modul importiert wird, daher ist es wohl technisch relativ egal.

    Aber wenn ich mir nun vorstelle, dass ein umfangreicher Code eventuell zig Module laden muss, aber schon vorher im Code lauter Funktionen definiert werden, welche die hier noch nicht importierten Module nutzt, der Code doch dadurch viel schwerer zu lesen/verstehen ist.


    Gruß Mario

    Mahlzeit und frohes Neues.


    Auch ich, oder gerade ich als Neuling möchte mich den Worten von dbv anschließen.

    Finde das Forum bisher klasse, und finde es super wie einem hier geholfen wird.

    Denn auch ich habe hier schon beim querlesen die "Probleme" gesehen, und finde es super dass trotzdem einige hier ihre Freizeit bereitwillig hergeben und versuchen anderen so tatkräftig zu helfen.


    In diesem Sinne sage ich mal Danke für das Forum und Danke an die Mitglieder.

    Grundsätzlich ist jedoch zu bedenken, dass die beispiele im Buch vermutlich alle ohne eine Fehlerbehandlung sind:

    Wenn der eingegebene String keine reine Zahl im Sinne eines Integers ist, gibt es eine Exception und das Programm ist zu Ende.

    Ja, das fehlt derzeit noch komplett, ich schätze dass kommt später.

    Ich hatte Übungen wo der Nutzer ggf Zahlen mit Kommastellen eingeben sollten, selbst wenn da wirklich ein Komma anstelle eines Punktes eingegeben wurden brach das Programm ab.

    Aber wie gesagt, ich schätze (und hoffe) dass kommt noch, daher werde ich mich damit jetzt noch nicht beschäftigen.


    Danke Dir.


    EDIT:

    Und schon kam als nächstes die Funktionen try und except im Buch ;)

    Frage zur Eingabe durch Benutzer.


    Im Buch kommen Aufgabenstellungen und Beispiele bei denen ein Nutzer eine Zahl eingeben soll, diese wird als int benötigt.

    Ich habe das immer z.B. so geschrieben:

    Code
    1. z = int(input())

    Im Buch wird immer erst der input geholt und dann in einen int gewandelt:

    Code
    1. z = input()
    2. zahl = int(z)

    Vielleicht fehlt mir hier auch wieder das entsprechende Denken und/oder die Erfahrung.

    Gibt es vielleicht Fälle, in denen ich die Eingabe des Nutzers (in diesem Fall ja eine Zahl) irgendwann auch als string brauchen könnte? Wobei ich könnte dann doch bei Bedarf aus dem int ein mit string machen, oder?


    Gruß Mario

    Andreas

    Wenn ich weiß wovon Du da schreibst, dann komme ich gerne mal auf die Aufgabe zurück ;)


    framp

    Ich dachte Python wäre eine Interpreter und keine Compilierer Sprache.... bitte bring mich jetzt nicht in Verlegenheit(wobei ich schon wo gelesen habe, dass zum Teil auch Interpretersprachen compiliert werden können, aber damit beschäftige ich mich später mal wenn es relevant werden sollte).


    Zentris

    Gerade weil mir so ein Denken fehlt fragte ich nach. Ich konnte mir schon denken, dass der Buchautor sich was dabei gedacht hat, aber leider Fehlen solche Infos in dem Buch (wie wohl in den meisten schätze ich). Als Schüler/Lehrling/Student hat man i.d.R. jemanden, der einem den Lösungscode erklärt in solchen Fällen. Hier muss ich leider euch bzw das Forum damit belästigen.


    Gruß und Danke

    Mario

    Andreas

    Mit anderen Worten, für so ein recht Sinnfreies Übungsprogramm ist es ganz nett so wenig Code wie nötig so haben. Arbeitet man aber an einem größeren, umfangreicheren Programm/Projekt, sollte man derartige Variablen anlegen um ggf später darauf zurückgreifen zu können, oder aber, dass andere, die den Code mal lesen und verstehen sollen, wissen was es in diesem Fall z.B. mit den 2.54 auf sich hat.


    Richtig verstanden?

    Ich habe eine Frage zu einer Aufgabe im Buch "Einstieg in Python"


    Die Übung ist zur Funktion range()

    Die Aufgabe ist, dass man ein Programm schreibt, dass folgende Ausgabe erzeugt (Keine Eingabe durch Nutzer)


    15 inch = 38.1 cm

    20 inch = 50.8 cm

    25 inch = 63.5 cm

    30 inch = 76.2 cm

    35 inch = 88.9 cm

    40 inch = 101.6 cm


    Meine Code schaut so aus

    Code
    1. for i in range(15,41,5):
    2. print(i, "Inch =", i * 2.54, "cm")

    Der Code aus der Lösung so

    Code
    1. inch = 2.54
    2. for xi in range(15,41,5):
    3.     xcm = xi * inch
    4.     print(xi, "Inch =", xcm, "cm")

    Beides führt zum gleichen Ergebnis, aber welches ist nun "eleganter"?


    Ich frage nur, weil ich es für sinnvoll erachte einen Code so kurz wie möglich zu halten, und solange die Variablen wie in dem Fall 'inch' und 'xcm' nicht weiter gebraucht werden, würde ich diese erst gar nicht anlegen.


    Gruß Mario

    Der (zugegeben) etwas höhere Einarbeitungsaufwand für ausgewachsenen IDEs kompensiert sich sehr schnell dann bei der Eintwicklung.

    Auch bei kleinen Programmen... Übersichtlichkeit und so...

    Ich denke, das muss man selbst erfahren und sich drauf einlassen, so wie dbv

    Wie gesagt, steht definitiv auf der ToDo-Liste.

    Ich glaube schon, dass solche Werkzeuge ihren Sinn haben und die Arbeit erleichtern. Aber eines nach dem anderen.

    Nehme mal Du nutzt die kostenlose Version?




    SQL (per DB-Connector kann man direkt mit einer DB (MySQL, MariaSQL, SQLite u.a.) kommunizieren

    Ich verstehe den Satz nicht, da fehlt glaube ich eine Klammer zum schließen (;

    Sorry, konnte ich mir nicht verkneifen

    leider gibt es Notepad++ nicht für Linux.

    Ich habe zwar in dem PC noch eine Platte mit Win10, aber die wird nur zum zocken genutzt.

    Arbeiten tu ich in der Regel am Laptop mit Lubuntu. Auch am PC nutze ich Lubuntu wenn ich nicht gerade was spiele.

    Mahlzeit zusammen,


    ich hatte mir gestern noch ein paar Sachen im Web zu den einzelnen IDEs die hier so genannt werden angeschaut.

    Und ich muss gestehen, für einen Anfänger wie mich, der sich erstmal auf den Code konzentrieren will, schaut so manch ein Screenshot einschüchternd aus.
    Ich würde da schon fast dreamshader zustimmen, dass einige von denen wohl wirklich einiges an Einarbeitung braucht.

    Ohne Frage werden dass gute Werkzeuge sein für Programmierer die programmieren können, aber ich befürchte, dass es mich zum Teil erstmal überfordern wird.
    Ich hab mir jetzt ne Liste der hier Empfohlenen erstellt. Werde aber wohl weiter, oder zumindest das solange ich das erste Buch durcharbeite, bei IDLE bleiben.
    Ich habe ja bisher keinerlei Erfahrung mit solchen Programmen. Und was bringen mir tolle Funktionen, PlugIns und Module, wenn ich keinen Plan habe, wofür diese wirklich sind... ich glaube, ich hab noch verdammt viel zu lernen neben der Programmiersprache selber.

    Bisher habe ich unter Windows mit Notepad++ mal Configfiles von Spielen oder Spielservern bearbeitet, und unter Lubuntu mit Leafpad ein paar HTML Seiten plus CSS Datein erstellt.


    Ich muss zugeben, dass ich mit der Sache der IDEs wohl voreilig war, aber ggf bringen die Infos hier ja auch anderen was, die damit schon mehr anfangen können.
    IDLE ist die erste IDE die ich jetzt kennen gelernt habe, und das ist bisher für mich etwas mehr als ein besserer Editor (auch wenn ich mich dran gewöhnen muss, dass z.B. die Zeilenzahl nicht vor der Zeile sondern unten links im Fenster angezeigt wird).


    Also, installieren werde ich wohl mal ein oder zwei, aber wohl wie angesprochen erstmal für das Buch bei IDLE bleiben und mir IDEs nach und nach Anschauen.


    Wie gesagt, nochmals vielen Dank euch allen!

    Gruß Mario

    Mahlzeit,


    ich ziehe dieses Thema mal aus einem anderen raus, da ich das Thema sehr interessant finde.

    Und zwar geht es um Editoren zum programmieren.

    Ich selber bin ja noch sehr frisch dabei und arbeite derzeit mit IDLE da es im Buch, welches ich gerade nutze empfohlen wird.


    Mir stellt sich die Frage, gibt es einen guten Editor den man sowohl auf dem Pi-, Linux und Windowssystemen nutzen kann?


    Welches sind eure/ist euer lieblings Editor und warum?

    Was stört euch an Editor XY?


    Würde mich freuen wenn hier ein paar Empfehlungen herraus kommen würden und diese ggf sachlich beurteilt werden.

    Gruß Mario

    Hier sind wir doch mal bei guten Argumenten.
    Dass mit dem Compiler vs. Interpreter wusste ich bisher nicht. In so einem Fall würde ich auch sagen, dass wenn man wirklich wichtige Dinge per Pi steuern möchte, dann sollte man schon ein ...ich nenn es mal... dauerstabiles Programm schreiben. Ich habe von Fällen gelesen, wo Leute ihre Tür mit diesem Fingertip abgesichert haben zusammen mit anderen Smarthomespielereien. (Wie sicher dass jetzt generell ist, darüber möchte ich hier nicht sprechen). Aber wenn dann plötzlich ein Update kommt und man damit seine Haussicherheit abschießt... aua.


    Wenn Du dich mit der Heizung darauf beziehst, dass ich derartiges bei mir angesprochen habe, dann kann ich Dich beruhigen. Es ginge dabei nicht um die komplette Heizung im Haus, eher um meinen Baseldachboden oder den Schuppen. Wir haben selber noch einen Kohleofen im Keller an der Heizungsanlage, den beschicke ich zwei mal täglich mit der Schüppe, dass nimmt mir kein Pi ab ;)

    Also ich finde so ein Thema gar nicht so unübel in gewisser Hinsicht.
    Ich hab mal in einem Forum ein Beitrag gelesen wo einer Frage, was man denn nun alles mit Python so machen kann.
    Und laut den ganzen Antworten kann man in Python wirklich alles machen außer Treiber programmieren, dass wiederrum ginge nur in C. (ich lasse das mal so im Raum stehen)

    Wenn hier mehr Fachliche Dinge für Anfänger gut erörtert werden würden, zum Beispiel wieso man am Pi (weil es ja noch immer ein Pi-Forum ist) Projekt XY viel besser mit C, oder Pascal umsetzen sollte weil.... dann könnte so mancher der Python für das Patentmittel für alles hält ggf nen anderen, in dem Fall besseren Weg einschlagen.
    Nur leider ist das aktuell aus meiner Sicht nicht so. Hier ist leider nur, wie der Titel schon sagt, bashing angesagt.

    Und dann mit Python die Heizung steuern. Da läufts mir eiskalt den Rücken runter. Aber macht mal

    Und was spricht jetzt dagegen mit Python das Thermostat zu steuern? Die Heizung selber bestimmt nicht, zumindest nicht meine.
    Wie gesagt, bin Anfänger, daher bitte keine Anmerkung, sondern Erklärungen. Nur so kann ich lernen ;)

    Mir geht es in erster Linie auch darum, dass hier eine Programmiersprache verteufelt wird, obwohl man sie nicht kann.

    Und halbherzig etwas lernen und dann missmutig damit etwas arbeiten wird auch nichts bringen, dass würde eher die vorgestellte Meinung kräftigen.


    Wie gesagt, ist mein genereller Cent zum Thema. Zwei Cent dürfen Leute geben die auch Fachlich das ganze beurteilen können. ;)