-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Themensammlung für die nächsten Videos #1
Comments
Was sagst du? :)
|
Was ich cool fände wäre ein Textadventure wie Attic sie früher in den 80er und 90er Jahren produziert hat. Z.B. wie "Drachen von Laas" oder "Ooze". |
Und was auch schön wäre: Wie spiele ich eine mp3 Datei mit Python ab? :) |
Mich würde nicht so sehr eine Programmlogik interessieren, sondern ein Leitfaden, wie man Module findet. Beispiel: In der Twitter Wordcloud und auch in der Alice Wordcloud werden “mal eben” module gezogen und dann einfach mal benutzt. |
Tja, da suche ich dann auch immer. Meistens über google und einige YouTube-Videos robbe ich mich an das Problem ran und wenn mir das Modul gefällt, wird es über PIP installiert. Dokumentationen gibt es ja häufig auf gitHub oder auf https://pypi.org/. Den optimalen Weg habe ich hier aber auch noch nicht gefunden. Gerade bei den GUIs bin ich noch unentschlossen ob da Kivy oder PyForms das Richtige ist. Für CRUD und WEB scheint Python, Flask + MySQL ganz gut zu sein (s. hier https://scotch.io/tutorials/build-a-crud-web-app-with-python-and-flask-part-one). Ich selbst habe aber noch keine Erfahrung damit. |
Hi Gravitar,
Ich habe vermutet, das es auf Google/Youtube und diverse Foren hinausläuft.
Nehmen wir mal Dein Twitter Beispiel. Welche Strukturen findet man in solchen Packages? Wie können Funktionen verwendet werden? Im Twitter Beispiel gibt es die kurze Aussage: „Hier verwenden wir die mächtige Funktion..“ oder so ähnlich. Wieso denn das (es macht Sinn in code, aber ...)? Wann gefällt dir ein Modul und wann lässt du es bleiben? Ist mal ein ganz anderes Thema, aber vielleicht ganz hilfreich. Ganz analog zu 1a und 1b.
Gruß
Walter
Gesendet von Yahoo Mail für iPad
Am Montag, März 9, 2020, 7:22 PM schrieb Gravitar64 <[email protected]>:
Mich würde nicht so sehr eine Programmlogik interessieren, sondern ein Leitfaden, wie man Module findet. Beispiel: In der Twitter Wordcloud und auch in der Alice Wordcloud werden “mal eben” module gezogen und dann einfach mal benutzt.
Ich finde persönlich die Orientierung in den vielen Modulen der großen Sprachplattformen sehr schwierig. Erst gibt es die Frage “Welches Modul?” und dann kurz danach: “Wie funktioniert die Bibliothek?”. Das ist alles andere als einfach und “Nimm Google” ist irgendwie auch nicht befriedigend.
Praktisches Beispiel: Ich möchte eine CRUD Anwendung bauen. Welche GUI? Django? QT? TkInter? DB Anbindung geht wie? Sicher gibt es was, dass PIP installiert. Aber wie finden? Wie Methoden verstehen? Wo sind die Dokumentationen?
Tja, da suche ich dann auch immer. Meistens über google und einige YouTube-Videos robbe ich mich an das Problem ran und wenn mir das Modul gefällt, wird es über PIP installiert. Dokumentationen -bgibt es ja häufig auf gitHub oder auf https://pypi.org/. Den optimalen Weg habe ich hier aber auch noch nicht gefunden. Gerade bei den GUIs bin ich noch unentschlossen ob da Kivy oder PyForms das Richtige ist. Für CRUD und WEB scheint Python, Flask + MySQL ganz gut zu sein (s. hier https://scotch.io/tutorials/build-a-crud-web-app-with-python-and-flask-part-one). Ich selbst habe aber noch keine Erfahrung damit.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Wie wäre es mit einem Video zum Thema machine learning und neuronale Netzwerke? |
Hättest du mal Lust ein ama zu machen? :) |
Hallo Gravitar. Mir gefallen deine Videos sehr gut, vielen Dank dafür! |
Komplexe Zahlen, Matplotlib und Numpy würde mich auch interessieren. Generell Daten graphisch aufzubereiten wäre sehr nützlich. Oder auch wie die Videos von 3blue1brown, die sind alle mit pygame gemacht hat er mal in die Kommentare geschrieben. EDIT:sry muss mich revidieren denn ich sehe gerade die sind mit einer Lib gemacht die er selber geschrieben hat und davon gibt es auch eine Community version die regelmäßig weiterentwickelt wird. |
Ein Textadventure mit Grafiken oben im Bildschirm und Text unten, das wär nice. |
Hallo Gravitar, |
Hallo Gravitar,
|
Hi Gravitar, OOP Hangman in Python |
Mittlerweile mit Video vom 10.04.22 erledigt (3D-Fraktal mit Ursina). |
Vielen Dank!
Beste Grüße aus Bayern.
… Op 20.04.2022, om 11:42 heeft Gravitar64 ***@***.***> het volgende geschreven:
Hallo Gravitar. Mir gefallen deine Videos sehr gut, vielen Dank dafür! Ich versuche Python zu nutzen um das Mandelbrot-Set darzustellen. Bislang ziemlich erfolglos, aber der Weg ist ja das Ziel. Wäre das vielleicht mal was für ein Video? Umgang mit komplexen Zahlen, Darstellung (Pygame? MatPlotLib?), Numpy etc.
Mittlerweile mit Video vom 10.04.22 erledigt (3D-Fraktal mit Ursina).
—
Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQPCN7ILC7CMC6DCRQG3XELVF7GQLANCNFSM4GHZFUDQ>.
You are receiving this because you commented.
|
Moin aus Norddeutschland und danke für die tollen Videos: und mal wieder wie so oft, Super! Das könnte ich ja jedes mal schreiben, dazu bin ich aber zu schüchtern 🤭 Als Input dient mal wieder eine Textdatei: li ne son Kor gibt tur hier das Beispiel von: # https://www.raetselstunde.de/kunterbunt/roessel-sprung/roesselsprung-015.html Vielleicht kommt das ja an ;-) |
Hallo MountyRox, auch eine tolle Idee, (m)ein Ansatz wäre nicht alle Möglichkeiten auszutesten sondern bei x Bits alle Konstellationen der Bitblöcke überprüfen ob es eindeutig gesetzte Felder gibt und diese dann auf Kompatibilität zu den Spalten/Zeilen Einträgen zu überprüfen. (Ob ich mich hier selbst verstehen würde??) |
Hallo ihr beiden, ich habe meinen o.a. Ansatz mal umgesetzt. Für die 10 Zeilen/Spalten/Bits erzeuge ich Int-Zahlen und wandle die in Bitblöcke um, das entspricht dann den Zahleneinträgen. Die Int-Werte der Zahlenblöcke sammle ich in einem Dict. Daraus benutze ich dann die eingelesenen, gesuchten um die in Spalten und Zeilen möglichen Int-Werte zu hinterlegen. |
Hallo Gravitar,
ich möchte ebenfalls vielen Dank sagen für die vielen, gut verständlichen Videos zur Programmiersprache Python. Ich habe vor einem Jahr das beiliegende Rätsel gefunden. Ich suche nach einem Algorithmus zur Lösung des Problems in Python. Vielleicht wäre es ein Thema für ein neues Video?
Mit freundlichen Grüßen-
Ingmar Rubin
( www.matheraetsel.de <http://www.matheraetsel.de> )
Von: Gravitar64 ***@***.***>
Gesendet: Freitag, 12. August 2022 11:26
An: Gravitar64/A-beautiful-code-in-Python ***@***.***>
Cc: ingmar146 ***@***.***>; Comment ***@***.***>
Betreff: Re: [Gravitar64/A-beautiful-code-in-Python] Themensammlung für die nächsten Videos (#1)
Hallo Gravitar! Vielen herzlichen Dank für die tolle Videoreihe! Vor kurzem habe ich mal wieder ein Heft mit Nonogrammen in die Hände bekommen, da kam mir die Idee, dass das ein schönes Projekt für Python wäre. Habe dann auch sofort mit der Programmierung angefangen. Das Hauptproblem ist die riesige Anzahl von Möglichkeiten. Selbst ein kleines Nonogramm wie dieser kleine Vogel <https://user-images.githubusercontent.com/68644672/179480750-f298bcce-d76f-4048-9654-c64bad79c88e.png> hat schon fast 1012 Möglichkeiten. Alle Möglichkeiten durchzuprobieren ist also keine gute Idee 😏.
Mhm, knifflig...., aber interessant...., könnte etwas dauern bis ich da einen Lösungsansatz entwickelt habe... lege es mal in meinen Hinterkopf und warte auf Antwort.....
—
Reply to this email directly, view it on GitHub <#1 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AUBUNSXCRAN2INKTYAKI7Z3VYYKCJANCNFSM4GHZFUDQ> .
You are receiving this because you commented. <https://github.com/notifications/beacon/AUBUNSU4YDO4ST4QGTAZNK3VYYKCJA5CNFSM4GHZFUD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOJBFY4HY.gif> Message ID: ***@***.***>
|
Hallo Gravitar, hallo @hslupo, ich wollte auf euren Kommentar referenzieren und dabei habe ich wohl irgend etwas falsch gemacht. Darum habe ich den/das issue wieder geschlossen. Nochmals zum Thema Nonogramm: Mittlerweile habe ich ein kleines Pygame Spiel zum Lösen von Nonogrammen geschrieben https://github.com/MountyRox/nonogram-game. Man kann entweder per Hand Block für Block lösen oder automatisch. Mit dem dritten Versuch einen verwendbaren Algorithmus zu finden hat es dann geklappt. Der erste Versuch wäre jede Möglichkeit durchgegangen und hätte Jahrzehnte gerechnet 😆, der zweite Versuch hat jede Blockverschiebung schon auf Gültigkeit überprüft. Damit wurde die Rechenzeit schon auf einige Minuten reduziert. Jetzt mache ich es so, wie man es auch per Hand machen würde. Zunächst alle überlappenden Blöcke finden und dann Zeile für Zeile und Spalte für Spalte durchgehen und nur die Blockkombinationen zulassen, die mit den bereits gesetzten Blöcken/Kreuzen kompatibel sind. damit geht es innerhalb von Sekunden. (Korrektur: Große Nonogramme (30x40) mit vielen kleinen Blöcken brauchen immer noch ewig 😰 ) War, bzw. ist ein interessantes Projekt. Darum nochmals vielen Dank an @Gravitar64 durch die Inspiration über die Reihe "A beautiful Code in Python". Falls du das Thema Nonogramm noch aufgreifst, bin ich mal sehr auf deinen Lösungsansatz gespannt 👍. Viele Grüße |
Hallo Jörg, menno, mein Hinterkopf hat bereits an dem Problem geknabbert und ziemlich viel Ressourcen in der Frontend-Verarbeitung abgezogen. Ich war jetzt so weit, dass ich einfach jede mögliche Setzmöglichkeit in einer Zeile oder Spalte ermittle und dann die Felder setze, die in in allen Möglichkeiten gesetzt sind. Dann ein Flag auf "habe was gefunden, und suche weiter" setzen und damit eine While Flag == "habe was gefunden...."-Schleife so lange weiterarbeiten, bis nichts neues mehr gesetzt werden kann. Das entspricht - wenn ich das richtig verstanden habe - auch deinem Ansatz. Allerdings habe ich noch keine Ahnung, wie ich alle Möglichkeiten ermittel und dabei berücksichtige, was ich bereits an gesetzten Feldern (klares ja, klares nein) ermittelt habe. Werde also noch etwas länger knobeln. Aber toll, dass Du das so schnell rausbekommen hast!!! Meiner Meinung nach der Ansatz, mit der geringsten Rechenzeit. Viele Grüße, Gravitar |
Ja, genau. Du setzt bestimmt als allererstes auch alle überlappenden Blöcke. Also alle Blöcke links ausrichten, dann alle rechts und gucken welche sich dabei überlappen. Das ist dann ein guter Anfang und man kann sich dann weiter vorarbeiten.
Genau daran hänge ich auch. Zur Zeit gehe ich alle Möglichkeiten durch und verwerfe die, bei denen "klares ja, klares nein" nicht korreliert. Besser wäre es natürlich diese Möglichkeit erst gar nicht zu setzen. daran knoble ich auch gerade. Viele Grüße |
Hi, gelöst. Nachdem ich endlich die Permutation rausbekommen habe, ging es eigentlich recht schnell. Den Vogel löse ich in 0,07 Sekunden. Das Programm ist aber seeehr weit von "beautiful" entfernt. Wer dennoch einen Blick auf den cruden ersten Wurf werfen (Achtung! Wortspiel) möchte, kann dies im Repository unter "Teil_xx_Nonogramme" tun. Mal sehen, ob ich den Code in einer Version hinbekomme, die sendefähig ist. VLG, Gravitar |
Hallo Gravitar, das ging dann ja wirklich schnell 👍. Und wie zu erwarten, wieder einmal in relativ wenigen Zeilen Code. Die Geschwindigkeit ist für den ersten Versuch super. Ich konnte meine Version auch noch etwas schneller machen. Der Vogel wird mittlerweile in 17 ms gelöst, aber der "Kopfsprung" Nonogramm dauert immer noch etwas über 6 Minuten. Ich habe das Kopfsprung Nonogramm (dive) in deine Datenstruktur umgewandelt. Wenn du dein Programm damit einmal testen willst, hier findest du die Datei: https://github.com/MountyRox/nonogram-game/blob/main/temp/dive.py Ich freue mich schon auf deine Veröffentlichung. Gruß |
Hallo Gravitar, hallo MountyRox, und meine Methode (alle INT-Werte der vorhandenen Zeilen/Spalten-Bits) durch die ihre ersetzt, |
Hallo Gravitar! Es tut mir leid, dass ich diese Plattform wählen muss, um dir einen Kommentar zu schreiben, aber ich weiß mir keinen anderen Rat mehr. Bestimmt schon mehr als sechs Mal habe ich (bei YouTube: Joerg Laukemper) versucht dein Nonogramm Video zu kommentieren, zum Schluss nur mit wenigen Zeilen. Alle Kommentare wurden gelöscht. Den original Kommentar, der zu allererst gelöscht wurde, habe ich in meinen GitHub Account hochgeladen. Hier der Link: https://github.com/MountyRox/nonogram-game/blob/main/temp/Kommentar_Gravitar.txt Vielleicht findest du einmal Gelegenheit ihn dir anzusehen. Du hast bestimmt viel Erfahrung mit YouTube und erkennst vielleicht, warum er gelöscht wurde. Ich hoffe nicht, dass mein Name mittlerweile auf einer "roten Liste" für deinen YouTube Kanal steht und ich dir auch in späteren Videos keinen Kommentar mehr schicken kann. |
Betreff: mandelbulb Hallo Gravitar, hi, Ich hatte mir in den Formeln einen Fehler eingebaut und darum das script von github zum Vergleichen genommen. Daraus ergeben sich 2 Probleme: Die Zahl der Ebenen und der "Strahlen" sieht von N abhängig aus ( N-1 Strahlen )
vielleich ist das ja noch Verbesserungswürdig. Grüße |
Hallo |
Zu meinem Thema oben >> hier wäre noch eine Erklärung (https://medium.com/analytics-vidhya/building-akinator-with-python-using-bayes-theorem-216253c98daa) |
Hallo, |
Hallo, Grüße Tobi |
Hier eine Liste von Ideen für die nächsten Videos:
Memory
Das gute, alte Memory-Spiel. Mit netten Bildern und einigen Varianten (3 einer Sorte, nach jedem Versuch werden 2 Karten ausgetauscht).
I.O. Silver
Spieleprogrammierung. Evtl. zu groß für ein einzelnes Video. Könnte aber in Unity, Boo realisiert werden. Boo ist aber nur an Python angelehnt. Evtl. verlassen wir hier zu schnell das eigentliche Thema.
BINGO-Solver
Mit dem Raspberry Pico ein Programm entwickeln, dass die Bingo-Blätter einscannt (Kamera-Modul) und die ausgerufenen Nummern mithört (Mikrofon-Sensor) um dann ein BINGO auszugeben.
INZWISCHEN ERLEDIGT:
Installation von Python, VS Code, GitHub (ERLEDIGT 19.01.2019 mit Video 1a)
evtl. reicht es aber auch auf andere Videos zu verlinken
Chaotisches Pendel (ERLEDIGT 11.02.2019 mit Video 12)
3D-Berechnungen (Rotation, Skalierung, Transpose, Projektion) (ERLEDIGT 15.09.2019 mit Video 19)
Labyrinthgenerator
Generiert ein Labyrinth und findet anschließen den Weg dadurch (2d, pygame). Gutes Beispiel für Rekursion, Vertiefung des Flood Fill Algorithmus aus Minesweeper. (ERLEDIGT 17.11.2019 mit Videos 23 + 24)
Game of Life
Simulation des guten alten Game of Life von Conway. Könnte auch ganz gut zur Demonstration von Objekten (Zellen) und Klassen geeignet sein (z.B. Methode dieOrLife). (ERLEDIGT 13.01.2020 mit Video 26)
Poker
Gutes Beispiel für objektorientierte Programmierung (Karte, Deck, Bewertung etc.)
(ERLEDIGT 17/24.07.2020 mit Videos 33 + 34)
The text was updated successfully, but these errors were encountered: