Die Suche ergab 6740 Treffer

von snafu
Donnerstag 14. Dezember 2023, 17:45
Forum: Showcase
Thema: Columnizer (jetzt: shcol)
Antworten: 53
Zugriffe: 31857

Re: Columnizer (jetzt: shcol)

Nach einer weiteren __kleineren__ Verzögerung habe ich das Skript mal zu Ende gepfuscht und an die Möglichkeiten von Python 3.12 angepasst. Es hört nun auf den Namen "simplecol" und kann mittlerweile mit Mappings und Path-Objekten umgehen. Der Spaltentrenner kann ein beliebiger String sein...
von snafu
Mittwoch 13. Dezember 2023, 04:55
Forum: Allgemeine Fragen
Thema: Attribute Error trotz "Erbung" der Klasse
Antworten: 4
Zugriffe: 510

Re: Attribute Error trotz "Erbung" der Klasse

Zwischenstand (ungetestet): class Point: # ... def coincides(self, other): return self.x == other.x and self.x == other.x Hier prüfst du doppelt auf die x-Werte, aber "vergisst" die y-Werte. Das müsste insofern sicherlich ``self.x == other.x and self.y == other.y`` heißen. Und das Verschi...
von snafu
Mittwoch 6. Dezember 2023, 21:55
Forum: Allgemeine Fragen
Thema: Type hints oder duck typing?
Antworten: 11
Zugriffe: 1031

Re: Type hints oder duck typing?

Beim Nutzen von Typ-Annotationen greife ich gerne auf die Typ-Definitionen aus dem ``collections.abc`` Modul zu. Statt ``list`` kann ich dann ``Sequence`` als Typen eintragen oder anstatt ``dict`` nehme ich ``Mapping``. Damit hat man gewissermaßen eine Mischung aus festen Typ-Angaben und dennoch ein...
von snafu
Dienstag 5. Dezember 2023, 00:28
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Ich finde es immer kurios, wenn man eine gute Lösung gefunden hat und die vielleicht noch ein paar Mal durchdenkt, dann fragt man sich, warum man nicht früher drauf gekommen ist. Part 1 war keine große Sache und der "Trick" mit der Zweierpotenz sollte so ziemlich jedem einleuchten, der mal...
von snafu
Montag 4. Dezember 2023, 23:42
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Hab nun auch die flotte Lösung hingekriegt. Man sollte bei Part 2 halt nicht wirklich Millionen von Elementen in die Liste stecken, sondern den Vorgang durch Berechnung quasi simulieren. Der naive Weg war dennoch erstmal gut, um die korrekte Lösung zu finden und sich mit der Herangehensweise vertrau...
von snafu
Montag 4. Dezember 2023, 22:17
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Tag 4 nun auch gelöst, aber mit extrem übler Laufzeit bei Part 2. Das muss ich mir nochmal genauer angucken.
von snafu
Montag 4. Dezember 2023, 20:13
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Meine Lösung für Tag 3 sieht so aus: import re from collections import namedtuple NUMBER_RE = re.compile(r"\d+") SYMBOL_RE = re.compile(r"[^\d.\n]") Position = namedtuple("Position", "x y") class NumberArea( namedtuple("NumberArea", "value start...
von snafu
Sonntag 3. Dezember 2023, 11:07
Forum: Allgemeine Fragen
Thema: interne Befehlsausführung
Antworten: 42
Zugriffe: 2835

Re: interne Befehlsausführung

@Domperle Idiomatisches Python ist etwas komplett anderes als die Programmierung von Fräsmaschinen. Die von dir angeführten Beispiele zeigen, dass du bisher nicht wirklich Berührungspunkte zu objektorientierter Programmierung hattest. Du bist offensichtlich den prozeduralen Ansatz gewöhnt und denkst...
von snafu
Sonntag 3. Dezember 2023, 00:46
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

@ThomasL Krass, wie kurz deine Lösungen immer sind. :o Ich habe das so gemacht: from math import prod def parse_game(string): game_info = {} for setting in string.split(": ")[1].split("; "): for times, color in map(str.split, setting.split(", ")): game_info[color] = max...
von snafu
Samstag 2. Dezember 2023, 12:53
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

@kbr: Auch wenn das bei heutigen Rechnern und angesichts der wenigen Daten keinen spürbaren Unterschied macht, aber deine Lösung ist ziemlich suboptimal. Allein schon das ständige Umkopieren des nahezu kompletten Strings, nur um ein Zeichen vorzurücken, stellt auch bei Quick & Dirty Code in mein...
von snafu
Samstag 2. Dezember 2023, 12:14
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Iiih, in Aufgabenteil zwei von Tag 1 2023 ist eine kleine Falle drin, in die ich getappt bin, die in den Testdaten nicht vorkam, in meinen persönlichen Eingabedaten aber schon. In den Testdaten ist aber trotzdem ein Hinweis. Geht mir gerade ähnlich. Ich weiß nicht, was passieren soll, wenn in einer...
von snafu
Samstag 2. Dezember 2023, 12:04
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Hab bei Tag 2 nun auch beide Parts durch. Ich fand den heutigen Tag sogar leichter als den Tag 1, insbesondere den zweiten Teil. Die in Python naheliegende Datenstruktur pro Spiel machte die Lösung recht simpel. Nur beim Parsen musste ich erst ein bisschen überlegen. Weniger über die benötige Method...
von snafu
Samstag 2. Dezember 2023, 07:44
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Habe mittlerweile auch beide Parts gelöst. Den Lookahead-Trick nutze ich dabei mit re.finditer(). Somit spare ich mir die quadratische Laufzeit bei den Textersetzungen. import re INPUT_PATH = "input1.txt" DIGIT_WORDS = ( "one two three four five six seven eight nine" ).split() WO...
von snafu
Samstag 2. Dezember 2023, 06:26
Forum: Links und Tutorials
Thema: Advent of Code
Antworten: 415
Zugriffe: 97060

Re: Advent of Code

Iiih, in Aufgabenteil zwei von Tag 1 2023 ist eine kleine Falle drin, in die ich getappt bin, die in den Testdaten nicht vorkam, in meinen persönlichen Eingabedaten aber schon. In den Testdaten ist aber trotzdem ein Hinweis. Geht mir gerade ähnlich. Ich weiß nicht, was passieren soll, wenn in einer...
von snafu
Montag 27. November 2023, 05:29
Forum: Allgemeine Fragen
Thema: Nacheinander in Json-Dict speichern
Antworten: 15
Zugriffe: 986

Re: Nacheinander in Json-Dict speichern

@__deets__
Wie kommst du jetzt auf Android?
von snafu
Sonntag 26. November 2023, 20:21
Forum: Allgemeine Fragen
Thema: Nacheinander in Json-Dict speichern
Antworten: 15
Zugriffe: 986

Re: Nacheinander in Json-Dict speichern

Ich würde das wahrscheinlich einfach mit dem Linux-Tool jq via subprocess.run() lösen. Man muss nicht "krampfhaft" immer alles in Python schreiben.

Oder vielleicht besser: https://pypi.org/project/jq/
(habe ich mir aber nur oberflächlich angeguckt)
von snafu
Sonntag 26. November 2023, 18:28
Forum: Allgemeine Fragen
Thema: Nacheinander in Json-Dict speichern
Antworten: 15
Zugriffe: 986

Re: Nacheinander in Json-Dict speichern

Ich glaube, der Knackpunkt ist hier das fortlaufende Schreiben und Auslesen der Daten, richtig? Es gibt verschiedene von JSON abgeleitete Formate, die Streaming unterstützen (z. B. JSON Lines). Vielleicht ist das hier der bessere Ansatz. Hier der passende Wikipedia-Artikel: https://de.wikipedia.org/...
von snafu
Dienstag 21. November 2023, 20:10
Forum: Allgemeine Fragen
Thema: Wann "match/case" in Python?
Antworten: 14
Zugriffe: 1055

Re: Wann "match/case" in Python?

Also den Walrus-Operator finde ich in manchen Situationen ganz gut. Und zwar dann, wenn man einen Rückgabewert testet und im positiven Fall diesen Wert direkt weiterverwendet. Ein typisches Beispiel:

Code: Alles auswählen

if (m := re.match(...)):
    do_something(m.groups())