Posts by dll-live

    Hallo __blackjack__


    Besten Dank für deine ausführliche Antwort.


    Quote

    Der Code zum einlesen hat einen Fehler sofern Du die Eingabedaten nicht um eine Leerzeile ergänzt hast.

    => ja, ich habe die Eingabedaten um eine Leerzeile am schluss ergänzt.


    Bezüglich der Namenskonvention (Klasse, Funktion,"normale" Variable) -> Verstanden, wird in ZUkunft umgesetzt.


    Quote

    Die ”Klasse” ist gar keine Klasse. Die hat keine Initialisierung und damit auch keinen Zustand und enthält nur eine ”Methode”, die zwar unsinnigerweise Attribute an Werte bindet, die aber auch nur im jeweiligen Aufruf verwendet, das sind also eigentlich einfach nur lokale Werte


    Sollte (oder muss) eine Klasse immer eine Initalisierung enthalten?

    In meiner Erinnerung habe ich mal gelesen, das Übergabewerte immer mit dem self Konstruktor an lokale Variablen gebunden werden sollten ist das dem Fall nicht gültig?


    Ok, wieder was (gleich mehrere Sachen) gelernt.


    Quote

    Der ``if __name__…``-Guard ist ja nicht schlecht, aber Code der dort Variablen definiert, definiert globale Variablen. Das gehört dann noch in eine Funktion.

    Danke - auch in diesem Bereich was gelernt.


    Quote

    `mit_abstand` im Hauptprogramm wird definiert, aber nirgends verwendet.

    Ja, der ist überfüssig.


    Quote

    Üblicherweise sieht man ja oft zu kurze, nichtsagende Namen, aber es gibt auch das Gegenteil. Namen können auch zu lang sein. Wenn nicht mal zwei ”einfache” Namen und ein Operator in eine Zeile passen, ist was komisch, und Du hast da mehrere solcher Klopper.

    Versuche in der Zukunft einen Mittelweg zu finden - mal schauen was da raus kommt.


    Quote

    Aufgabenteil 2 ist mir dann wirklich zu unübersichtlich. Das ist zu viel Code und da wird zu viel gemacht. Ob das Listen kopieren in diesen ganzen Schleifen notwendig ist, sollte man prüfen, und `deepcopy()` braucht man wirklich sehr selten — fast nie. Es ist sicher einfacher wenn Du Dir erst einmal den `set`-Datentyp anschaust, und dessen Operationen, bevor ich versuche mich da durchzuarbeiten.

    ok - Werde mir den 'set' Datentyp und dessen Operationen mal anschauen.


    Nun bin ich deine Antwort durch - meistens kann ich mich nur ernsthaft bedanken:danke_ATDE:, dass du dir die Zeit nimmst und Mühe machst, meinen Code anzuschauen und mir Tipps gibst. Finde das wirklich klasse:!::bravo2:


    Gruss Dani

    Hallo zusammen.


    Die heutige Aufgabe - habe ich geschafft - wie ihr auch :bravo2::bravo2::bravo2:


    Anbei mein lauffähiger Code

    Es freut mich, wenn sich jemand meinen Code anschaut, und mir Tipps gibt, was ich besser/ schöner / schlanker machen könnte. Bin auf die Vorschläge gespannt. :daumendreh2:


    Freundliche Grüsse

    Dani

    Hi Steinardo


    Anbei dein Code so modifiziert, dass er funktioniert:

    Der Schlüssel lag in einem zweiten return. Das ist nötig, da du die Funktion rekursiv aufrufst. Bei der Zeile

    Quote
    Code
    define_seat(lower_number, upper_number, rows_or_column)

    musste einfach noch ein return vorne drangestellt werden.

    Dann funktioniert es.


    Gruss Dani

    Hallo Steinardo


    Zu deiner Frage, warum deine Funktion "None"zurückliefert, solange du die Variable nicht global machst.

    Du hast in deiner Funktion kein Rückgabe wert drin. Versuche es mal mit "return lower_number statt

    seat_return = lower_number


    somit braucht es die Zeile

    Quote
    Code
    seat_row = seat_return

    nicht mehr, da der Rückgabewert der Funktion direkt an die aufrufende Stelle zurückgegeben wird.


    Zusätzlich ist zu erwähnen,das globale Variablen eigentlich nie gebraucht werden.


    Freundliche Grüsse

    Dani

    Hallo Manul


    Tönt beides gut.:bravo2:

    Github nehme ich mir später / morgen zur Brust - jetzt muss ich zuerst noch etwas "für" meine Wohnung tun (aufräumen).

    Code hier einstellen - anbei mal meine Lösung für heute.


    Für diejenigen welche meinen Code anschauen:

    - Hoffe ich, dass ihr keinen "Augenkrebs" bekommt:daumendreh2:

    - Nehme ich konstruktive Ideen und Anregungen gerne entgegen:danke_ATDE:

    - Hoffe ich, dass ihr mich nicht "zerfleischt" - weil es unterirdisch ist, was ich gemacht habe.:saint:

    Freundliche Grüsse

    Dani

    Hallo zusammen.


    Der Teil 1 von heute (Tag 5) war für mich leicht.

    Bei Teil 2 habe ich eine ganze weile gebraucht, um zu verstehen was überhaupt gesucht ist. danach ging es auch sehr einfach. - .... Finde die Lücke ..... wäre einfacher als Anweisung für Teil 2 gewesen....

    Leider bin ich mit github noch nicht so vertraut, sonst könnte ich meinen Code auch veröffentlichen - wobei von mir keine "Hochstehenden" Lösungsansätz kommen. Bis jetzt habe ich das meist sehr einfach gelöst (mit Liste und Schleifen).


    Bei denen die Ihre Lösung online gestellt haben, habe ich mir das eine oder andere überflogen und für mich interessante Herangehensweisen gefunden.


    Bin gespannt was morgen kommt.


    Gruss Dani

    Hallo __blackjack__


    Besten Dank für deine Info. :danke_ATDE:Deswegen habe ich ja Musterlösungen in " gesetzt.
    anders ausgedrückt - ich find es super, das ich die Lösung von anderen anschauen kann, so kann ich lernen.


    Hofei gerade gesehen, dass du deine Lösungen auch auf Github veröffentlicht hast. Besten Dank :bravo2:


    Gruss Dani

    Hallo zusammen.


    Habe diesen Thread von Anfang an mitgelesen und finde es eine coole Idee.:bravo2:Bis jetzt die Aufgaben in "prosa" gelöst.

    Heute habe ich mich endlich durch gerungen und Tag 1 "real - also mit Programmieren" gelöst. Habe auch beide Teile geschafft :saint:. Setze mich gleich noch an Tag 2.

    Schade find ich, dass keine "Muster"Lösungen veröffentlicht werden.

    So kann ich schauen, was andere programmiert haben und so weiter lernen (Meine Programmiersprache ist Python.


    Über Umwege ist dieser Wunsch, in Erfüllung gegangen und Dank Linus kann ich jetzt eine weitere Lösung in Python anschauen.



    Freundliche Grüsse

    Dani

    Guten Abend

    Und herzlich willkommen im Forum.


    Kurze, knappe Antwort. Ja (ggf mit Einschränkungen)

    Damit du’s eine konkrete Antwort bekommst, ist es notwendig konkrete Fragen zu stellen


    Gruss Dani

    Hallo zusammen

    Bin zur Zeit auf der Suche nach einem neuen Projekt, dabei bin ich über das Stichwort "Reverse-Proxy" gestolpert.

    Habe mich zum Thema etwas eingelesen. Mögliche Konfigurationen von Apache oder Ngnix habe ich gefunden (Weiterleitungs-Regeln)

    Damit mir das Thema Mehrwert bringt und nicht nur wieder ein Server mehr rumsteht der administiert werden will habe ich noch folgende Fragen:


    - Wie sicher gegen Angriffe von Aussen sind die Server / Services dahinter?

    - Wie kann ich damit SQL Injection verhindern?

    - Kann da ein Virenscanner laufen und wie muss dieser konfiguriert sein, damit er wirkt?


    Gruss Dani

    Hallo schalck


    Quote

    mycursor = mydb.cursor()

    Das vor der While schleife stehen.


    Versuch mal nach der Zeile:


    Quote

    print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity))


    folgendes (einrückung muss korrekt sein...) :

    Code
    try:
        sql = " INSERT INTO Temperaturen (Temp, Hum) VALUES (%s, %s)"
        mycursor.execute(sql, (temperature, humidity))
        mydb.commit()
    except:
        print("Fehler beim Daten in DB schreiben."



    Temp und Hum => Sind die Spalten in der Datenbank.

    temperature und humidity sind deine Variablen.


    Gruss Dani

    Hallo md_fg

    Die obenstehende Rechnung ist zu 100% korrekt.

    Die Ausgabe ist "einfach" in Stunden ausgedrückt... 7 volle Stunden und ein Rest von 75 - in Minuten umgerechnet 45.


    Anbei ein Prosa Code, der funktioniert (gibt sicher optimiertere Varianten)


    Code
    Tageslaufzeit / 3600 => Stundenmässig
    Nehme von Stundenmässig, das vor dem Punkt => volle_Stunden.
    Tageslaufzeit - (volle Stunden * 3600) => Rest_Tageslaufzeit_1
    
    Rest_Tageslaufzeit_1 / 60 => Minutenmässig
    Nehme von Minutenmässig, das vor dem Punkt => volle_Minuten
    
    Rest_Tageslaufzeit_1 - (volle_Minuten) => Sekunden
    
    Anzeige => volle_Stunden+ "h" + volle_Minuten "min" + Sekunden


    Gruss Dani

    Hallo llutz


    Nein, sonst gibt es meines Wissens nach keinen zusätzlichen Zugang....



    Ich habe es vermutet und / oder befürchtet. Hatte einfach gehofft, das es eventuell noch ein anderen Weg gibt. Grundsätzlich egal, ist jetzt halt mehr Arbeit. Wie sagt ein Sprichwort so schön? Wer kein Hirn hat, hat Füße. (OK in diesem Fall Hände)


    Nun, bin ich wieder etwas schlauer und habe was dazu gelernt.


    Danke für den Tipp mit dem Backup.


    Somit ist das Thema auch schon wieder erledigt.


    Gruss Dani