String Veränderung Problem



  • @b1llyth3k1t
    Tja, bei mir werden da undefinierbare Zeichen in der Zeile angezeigt. Die werden wohl auch dem Compiler nicht schmecken.



  • @b1llyth3k1t
    Zitiere mal deinen Code, dann siehts du das im Edit-Fenster



  • Jungs ich danke euch! Das Problem war ernsthaft, dass ich mit einer Tastatur am Mac Schreibe die nicht von Apple ist... Lösung: Gleiche Zeichen mit der Laptop Tastatur hat den Fehler für den Compiler behoben 🤣


  • Mod

    Mal zum Inhalt des Programms:
    So ungefähr 70% deiner Codezeilen sind spezifisch auf das Lösungswort 'Haus' zugeschnitten. Was passiert denn wohl, wenn du ein anderes Lösungswort möchtest? Dann musst du praktisch dein gesamtes Programm umschreiben. Oder gar die Auswahl aus zwei oder mehr Wörtern? Wie lang wird dein Programm dann und wie viel musst du dafür programmieren? Außerdem musst du bei jedem neuen Wort ganz genau sicher gehen, dass alle deiner vielen Codezeilen perfekt zusammen passen: Du möchtest das Lösungswort "Wasser"? Dann darfst du nicht vergessen, string Loesung = "____"; auf 6 '_' zu verlängern, sonst kracht es. Und du musst zusehen, dass jeder deiner if-Blöcke zusammen passt, vergisst du einen oder machst bei einem einen Fehler, kracht es. Und du musst dir noch etwas neues ausdenken, wie du das doppelte 's' in dem Lösungswort behandelst, weil deine jetzigen if-Blöcke das nicht können. Und, und, und. Bloß um ein anderes Lösungswort zu haben...

    Mit deinen Kenntnissen über Schleifen und Zeichenketten könntest du dein Programm auch so schreiben, dass es mit beliebigen Wörtern zurecht kommt und dabei noch viel kürzer ist. Das ist eine sehr gute Richtlinie beim Programmieren, dass man die Logik immer möglichst allgemein und unabhängig von den verarbeiteten Daten lässt. Das macht Programme nicht nur flexibler, sondern oft auch viel einfacher und somit weniger fehleranfällig. Das solltest du unbedingt lernen und von nun an bei jedem deiner Übungsprogramme so machen.



  • @seppj sagte in String Veränderung Problem:

    Mal zum Inhalt des Programms:
    So ungefähr 70% deiner Codezeilen sind spezifisch auf das Lösungswort 'Haus' zugeschnitten. Was passiert denn wohl, wenn du ein anderes Lösungswort möchtest? Dann musst du praktisch dein gesamtes Programm umschreiben. Oder gar die Auswahl aus zwei oder mehr Wörtern? Wie lang wird dein Programm dann und wie viel musst du dafür programmieren? Außerdem musst du bei jedem neuen Wort ganz genau sicher gehen, dass alle deiner vielen Codezeilen perfekt zusammen passen: Du möchtest das Lösungswort "Wasser"? Dann darfst du nicht vergessen, string Loesung = "____"; auf 6 '_' zu verlängern, sonst kracht es. Und du musst zusehen, dass jeder deiner if-Blöcke zusammen passt, vergisst du einen oder machst bei einem einen Fehler, kracht es. Und du musst dir noch etwas neues ausdenken, wie du das doppelte 's' in dem Lösungswort behandelst, weil deine jetzigen if-Blöcke das nicht können. Und, und, und. Bloß um ein anderes Lösungswort zu haben...

    Mit deinen Kenntnissen über Schleifen und Zeichenketten könntest du dein Programm auch so schreiben, dass es mit beliebigen Wörtern zurecht kommt und dabei noch viel kürzer ist. Das ist eine sehr gute Richtlinie beim Programmieren, dass man die Logik immer möglichst allgemein und unabhängig von den verarbeiteten Daten lässt. Das macht Programme nicht nur flexibler, sondern oft auch viel einfacher und somit weniger fehleranfällig. Das solltest du unbedingt lernen und von nun an bei jedem deiner Übungsprogramme so machen.

    QFT



  • @seppj Danke danke werd ich mir mal zu Herzen nehmen, komme von der Sprache Python und das nehm ich nur als Übung... Das Coden sollte eig nicht länger als 10 min dauern; nur kam mit dem Fehler nicht zurecht.



  • @b1llyth3k1t Aber auch in Python würdest du nicht jedes Zeichen fest einprogrammieren. Algorithmisch macht die Sprache keinen großen Unterschied.



  • @tggc sagte in String Veränderung Problem:

    QFT

    Das habe ich jetzt schon mehrmals von dir gelesen und ich denke dabei immer mit Horror an Quantenfeldtheorie (oder Quantum Field Theory, falls es ne Englische Abkürzung ist), eine der Vorlesungen, bei denen ich froh war, dass ich am Ende den Schein nicht benötigt habe 😉 Was willst du damit sagen?



  • @wob sagte in String Veränderung Problem:

    Was willst du damit sagen?

    Wahrscheinlich etwas davon: https://de.wikipedia.org/wiki/QFT
    Such dir das passende aus.


  • Mod

    @b1llyth3k1t sagte in String Veränderung Problem:

    @seppj Danke danke werd ich mir mal zu Herzen nehmen, komme von der Sprache Python und das nehm ich nur als Übung... Das Coden sollte eig nicht länger als 10 min dauern; nur kam mit dem Fehler nicht zurecht.

    Ich empfehle, auch (oder gerade!) beim Üben auf so etwas Wert zu legen. Schließlich willst du ja Üben, wie es richtig geht. Übungsbeispiele sind auch besonders gut geeignet, sich eine Schatzkiste an Lösungen für Probleme anzueignen, ohne dass man von der Komplexität echter Problem erschlagen wird. Kennt man die typischen Lösungswege für viele gängige Teilprobleme, wird man später ein richtig guter Programmierer, denn oft sind komplexe Probleme auf solche Probleme reduzierbar. Hier hast du jetzt bloß eine sehr spezielle if-Kaskade nur für Galgenmännchen gelernt, die du nirgendwo sonst benutzen kannst. Die allgemeine Lösung hätte dich hingegen allgemein anwendbares Wissen über das Verarbeiten von Sequenzen gelehrt.

    Du wärst auch sicherlich in vielen Fällen schneller, wenn du den Ratschlag zu Herzen nimmst. Wäre das gesuchte Wort "Donaudampfschifffahrtskapitänspatent" gewesen, hättest du gewiss sehr lange gebraucht, mit der allgemeinen Lösung aber auch nicht wesentlich länger als 10 Minuten.