Python data structure frage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
CelTiC
User
Beiträge: 6
Registriert: Dienstag 13. November 2007, 17:20

Python data structure frage

Beitragvon CelTiC » Dienstag 13. November 2007, 17:26

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.
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Beitragvon windner » Dienstag 13. November 2007, 18:39

Bitte nichts verraten! Außer vielleicht, dass banner ein alter Unix-Befehl ist.
CelTiC
User
Beiträge: 6
Registriert: Dienstag 13. November 2007, 17:20

Beitragvon CelTiC » Dienstag 13. November 2007, 18:43

ist ja ein Ansatz wie ich ihn wollte. Danke =)
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Dienstag 13. November 2007, 19:05

Die Aufgabe hat Spaß gemacht o_O!

Könntest du mir die Challenge Seite verraten?... Oder irgendjemand anders irgendeine?...
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Beitragvon windner » Dienstag 13. November 2007, 19:06

CelTiC
User
Beiträge: 6
Registriert: Dienstag 13. November 2007, 17:20

Beitragvon CelTiC » Dienstag 13. November 2007, 19:09

gibts die dort auch???
ich hab die von www.rankk.org level 6
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Beitragvon windner » Dienstag 13. November 2007, 19:24

gibts die dort auch???

Zumindest eine sehr ähnliche. Bin eher geneigt, zu glauben, dass das Original von pythonchallenge ist.
CelTiC
User
Beiträge: 6
Registriert: Dienstag 13. November 2007, 17:20

Beitragvon CelTiC » Dienstag 13. November 2007, 19:26

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.
BlackJack

Beitragvon BlackJack » Dienstag 13. November 2007, 19:56

Statt dem Unixprogramm ``banner`` wäre wohl ``figlet`` ein besserer Tipp. Und das Stichwort "Datenkompression".

Code: Alles auswählen

bj@s8n:~$ figlet CelTiC
  ____     _ _____ _  ____
 / ___|___| |_   _(_)/ ___|
| |   / _ \ | | | | | |
| |__|  __/ | | | | | |___
 \____\___|_| |_| |_|\____|
CelTiC
User
Beiträge: 6
Registriert: Dienstag 13. November 2007, 17:20

Beitragvon CelTiC » Dienstag 13. November 2007, 20:02

Danke sehr blackjack!
Werde mich gleich einlesen.
Gruss
windner
User
Beiträge: 76
Registriert: Freitag 19. Oktober 2007, 11:25

Beitragvon windner » Dienstag 13. November 2007, 20:19

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...
BlackJack

Beitragvon BlackJack » Dienstag 13. November 2007, 20:24

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. :-)
CelTiC
User
Beiträge: 6
Registriert: Dienstag 13. November 2007, 17:20

Beitragvon CelTiC » Dienstag 13. November 2007, 22:07

Jop danke sehr, habe die Challenge geschafft ( dank euch ;) ).
gruss

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder