Seite 1 von 1

Python data structure frage

Verfasst: Dienstag 13. November 2007, 17:26
von CelTiC
Guten Tag,
ich bin auf einer Challenge Seite auf eine Aufgabe gestossen die mich ein bisschen mehr in Python eintauchen lässt.
Nun habe ich aber überhaubt keine Ahnung wo ich Anfangen soll bzw. um was es eigentlich geht.
Die Aufgabe sieht so aus:


The following is a Python data structure containing a banner.

[[('_', 1),('|', 1),(' ', 8),('_', 1),('|', 1)],[(' ', 0),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 6),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 6),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),('_', 1),('|', 1)],[(' ', 0),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 6),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),('_', 1),('|', 1)],[(' ', 0),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 8),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 8),('_', 1),('|', 1)],[(' ', 0),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 4),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 6),('_', 1),('|', 1),('_', 1),('|', 1),('_', 1),('|', 1),(' ', 2),('_', 1),('|', 1)],[(' ', 30),('_', 1),('|', 1),(' ', 8),('_', 1),('|', 1)],[(' ', 30),('_', 1),('|', 1),(' ', 8),('_', 1),('|', 1)]]


Hat da jemand ne Ahnung was da meine Aufgabe sein könnte, und mir evtl. ein Stichwort sagen wonach ich Googeln muss.

Gruss CelTiC

Edit (Leonidas): Smileys deaktiviert.

Verfasst: Dienstag 13. November 2007, 18:39
von windner
Bitte nichts verraten! Außer vielleicht, dass banner ein alter Unix-Befehl ist.

Verfasst: Dienstag 13. November 2007, 18:43
von CelTiC
ist ja ein Ansatz wie ich ihn wollte. Danke =)

Verfasst: Dienstag 13. November 2007, 19:05
von BlackVivi
Die Aufgabe hat Spaß gemacht o_O!

Könntest du mir die Challenge Seite verraten?... Oder irgendjemand anders irgendeine?...

Verfasst: Dienstag 13. November 2007, 19:06
von windner

Verfasst: Dienstag 13. November 2007, 19:09
von CelTiC
gibts die dort auch???
ich hab die von www.rankk.org level 6

Verfasst: Dienstag 13. November 2007, 19:24
von windner
gibts die dort auch???
Zumindest eine sehr ähnliche. Bin eher geneigt, zu glauben, dass das Original von pythonchallenge ist.

Verfasst: Dienstag 13. November 2007, 19:26
von CelTiC
Hm, mr. Winder, hast du nicht doch nen kleinen Tipp für mich?
Ich suche und suche, lese und lese aber finde einfach nichts was mich dazuführen könnte zu verstehen was zu tun ist.

edit:
jo wird wohl schon so sein =) das die von dort ist.

Verfasst: Dienstag 13. November 2007, 19:56
von BlackJack
Statt dem Unixprogramm ``banner`` wäre wohl ``figlet`` ein besserer Tipp. Und das Stichwort "Datenkompression".

Code: Alles auswählen

bj@s8n:~$ figlet CelTiC
  ____     _ _____ _  ____
 / ___|___| |_   _(_)/ ___|
| |   / _ \ | | | | | |
| |__|  __/ | | | | | |___
 \____\___|_| |_| |_|\____|

Verfasst: Dienstag 13. November 2007, 20:02
von CelTiC
Danke sehr blackjack!
Werde mich gleich einlesen.
Gruss

Verfasst: Dienstag 13. November 2007, 20:19
von windner
Statt dem Unixprogramm ``banner`` wäre wohl ``figlet`` ein besserer Tipp.
Richtig, entspräche aber nicht der Orignalaufgabe, in der eben "banner" steht.
Und das Stichwort "Datenkompression".
O mein Gott! Jetzt wird er sich einlesen, statt drüber nachzudenken...

Verfasst: Dienstag 13. November 2007, 20:24
von BlackJack
Okay noch'n Tipp: Ist eine gaaanz einfach Datenkompressionsmethode. Ich denke wenn man sich die gegebene Datenstruktur und die Ausgabe von Figlet anschaut kommt man recht schnell darauf, wie man vom einen zum anderen kommt.

Falls die Daten in der Aufgabe auch so "unstrukturiert" sind, lohnt es sich vielleicht mal `len()` auf der Liste auszuführen.

Die Liste ist auch in Haskell syntaktisch korrekt. Dort bekommt man das Ergebnis mit folgender Zeile (`xs` ist die Liste):

Code: Alles auswählen

main = putStr . unlines $ map (concat . map ((uncurry . flip) replicate)) xs
Falls das weiterhilft. :-)

Verfasst: Dienstag 13. November 2007, 22:07
von CelTiC
Jop danke sehr, habe die Challenge geschafft ( dank euch ;) ).
gruss