Die Suche ergab 19 Treffer

von Ydope
Freitag 19. Dezember 2008, 21:21
Forum: Allgemeine Fragen
Thema: Eingabe und Darstellung einer Zahl
Antworten: 3
Zugriffe: 798

Danke.
Zu deiner Frage: Wenn man Backspace drückt, soll doch das letzte Zeichen entfernt werden.

PS: Oder meinst du man sollte einfach die ganze Eingabe wieder löschen? Das wäre wohl in der Tat einfacher, vorallem, da es nur kurze Zahlen sind.
von Ydope
Freitag 19. Dezember 2008, 21:11
Forum: Allgemeine Fragen
Thema: Eingabe und Darstellung einer Zahl
Antworten: 3
Zugriffe: 798

Eingabe und Darstellung einer Zahl

Hallo, Simples Ziel dieses Codes ist es, dass der User eine Zahl eingibt und dass diese während der Eingabe angezeigt wird. Ferner soll Backspace dabei normal nutzbar sein. Es soll beim Verlassen der Schleife (mittels Eingabe-Taste) in der Variable fsize eine Zahl zwischen 1 und 9999 stehen. Es wird...
von Ydope
Mittwoch 17. Dezember 2008, 00:04
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

OK dann werde ich das probieren und mich über diese Methoden informieren. Aber erst morgen. Will das jetzt nicht schon wieder umbauen und muss erstmal genau kapieren, was du meinst und ob das möglich ist. Letztendlich wirds trotzdem langsamer als der bisherige Weg sein :roll: Also ich kann das nich...
von Ydope
Dienstag 16. Dezember 2008, 23:19
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

@Ydope: ``in`` ist schneller als `has_key()` aufzurufen, aber letztendlich brauchst Du das wahrscheinlich gar nicht, sondern eher die `get()`- oder die `setdefault()`-Methode. Eventuell auch ein `collections.defaultdict`. OK dann werde ich das probieren und mich über diese Methoden informieren. Abe...
von Ydope
Dienstag 16. Dezember 2008, 23:14
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Danke euch. Hab das mit dem Set endlich geschnallt. Hier also der vollständige Benchmark: 20 Mio. Schritte ohne Bildschirmdarstellung 1500x1500 Felder, mit Automat, der am Ende eine knappe Mio. Felder besucht hat: bisherig: ~31s dictionary: ~114s set: ~78s 90x90 Felder, mit Automat, der nur ca. vers...
von Ydope
Dienstag 16. Dezember 2008, 22:51
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Bei der dictionary-Variante wird die .has_key-Methode benutzt um zu prüfen, ob das Feld schon besucht wurde. Wenn nicht, wird der key gesetzt. dicts _sind_ Container... Was willst du mir damit sagen? Ich wollte BlackJacks Vorschlag umsetzen und im Dictionary gleich den Wert der Zelle speichern. Der...
von Ydope
Dienstag 16. Dezember 2008, 22:40
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Vergleich bisherige Variante <-> dictionary Bei der dictionary-Variante wird die .has_key-Methode benutzt um zu prüfen, ob das Feld schon besucht wurde. Wenn nicht, wird der key gesetzt. 20 Mio. Schritte 1500x1500 Felder, mit Automat, der am Ende eine knappe Mio. Felder besucht hat: bisherig: ~31s d...
von Ydope
Dienstag 16. Dezember 2008, 21:30
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Dumme Frage:
Wie mache ich das denn überhaupt mit einem Set?
Ich will doch immer Punktepaare speichern und die sind nicht sequenzierbar.
Ein Set für x-Werte und eines für y-Werte geht auch nicht, denn ich brauche ja die Paare.
von Ydope
Dienstag 16. Dezember 2008, 20:49
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Ok ich werde einen Benchmark machen mit der momentanen Variante, mit Set und mit Dictionary.

@ sea-live: ich finde dort das Spiel "crush roller" leider nicht.
von Ydope
Dienstag 16. Dezember 2008, 17:18
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Da stehe ich etwas auf dem Schlauch und weiß ncht ob wir das gleiche meinen. Meine eigentliche Schleife ohne die Darstellung soll möglichst schnell sein. Das ist die Hauptpriorität. Und die ist doch sicher langsamer, wenn ich nach jedem Schritt mittels "in" nachschaue, ob das Feld schon in...
von Ydope
Dienstag 16. Dezember 2008, 16:19
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Genau. Die Felder können auch weitere Zustände/Farben haben. Das ist z.B. hier erklärt: http://en.wikipedia.org/wiki/Langton%27s_ant#Extension_to_Langton.27s_ant Außerdem kann meine Variante nicht nur auf einem Spielfeld mit quadratischen Zellen laufen, sondern auch mit sechseckigen Zellen. Da kennt...
von Ydope
Sonntag 14. Dezember 2008, 22:02
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

So, konnte nun doch noch einiges beschleunigen. Erstmal habe ich die if zoom == ... Abfragen aus der Schleife genommen. Dafür steht jetzt zwar dreimal die Schleife da, aber es ist natürlich schneller. Außerdem habe ich das mit der verschachtelte Liste feldb [x][y] so umgebaut, dass für jedes x ein r...
von Ydope
Samstag 13. Dezember 2008, 14:51
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Leider kann es später auch vorkommen, dass das ganze Spielfeld betreten wurde.
Aber ich habe nun Psyco mit reingenommen und das hat eine massive Beschleunigung bedeutet (Faktor 4-5), so dass ich nun ganz zufrieden bin. 8)
von Ydope
Freitag 12. Dezember 2008, 22:50
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

So, habe das nun umgesetzt. Mir ist noch aufgefallen, dass der y-Wert ja folgendermaßen ausgerechnet wird: (y-fz) * zoom + height/2. Wenn man die Klammer auflöst, hat man y*zoom - fz*zoom + height/2 und der hintere Teil ist invariant, kann also vor der Klammer ausgerechnet werden. Im Ergebnis siehts...
von Ydope
Freitag 12. Dezember 2008, 21:49
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

@ numerix: Wobei, wenn ich nochmal drüber nachdenke, macht das "Herausziehen" bei der inneren Schleife wenig Sinn, denn es wird sowieso für jedes y nur einmal der ausgerechnete y-Wert gebraucht und oft wird er auch gar nicht gebraucht. Bis auf width/2, height/2 und zoom/2 ist ein Herauszie...
von Ydope
Freitag 12. Dezember 2008, 21:35
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Danke, ich werde die Schleifen und ifs noch etwas umgruppieren, damit die herausgezogenen Berechnungen nur durchgeführt werden, wenn sie auch später gebraucht werden.
von Ydope
Freitag 12. Dezember 2008, 19:32
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Ok, danke, wird gemacht. zoom kann ich aber schwerlich da rausziehen oder?
fz ist das zentrale Feld/Anfangsfeld. D.h. wenn das Spielfeld 600x600 Felder hat, ist fz = 300.
von Ydope
Freitag 12. Dezember 2008, 19:02
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Hi, danke für deine Anregungen. Ich habe auch eine Darstellungsvariante, die immer nur das letzte Feld aktualisiert, die läuft auch ziemlich flott. Einige 1000 Schritte/s. Um das aber noch schneller laufen lassen zu können, brauche ich eine Varinate, die seltener darstelt, denn der eigentliche Kern ...
von Ydope
Freitag 12. Dezember 2008, 17:55
Forum: Allgemeine Fragen
Thema: Wie komme ich am schnellsten durch mein Array?
Antworten: 35
Zugriffe: 4680

Wie komme ich am schnellsten durch mein Array?

Hallo, um etwas fitter in Python zu werden, habe ich eine aufgebohrte Version von Langtons Ameise , einem Zellularautomaten programmiert. Ziel ist erstmal hohe Geschwindigkeit. Das ganze spielt sich auf einem Spielfeld ab, was ich folgendermaßen definiert habe: feld = [[0 for x in xrange(fsize)] for...