Mir geht's ähnlich. Ich weiss, dass ich damals Notizen gemacht habe, aber auf welchem Rechner oder Backup-Medium die nun abgeblieben sind…
Edit:
@SchneiderWeisse: In dem Bild ist etwas das nach Daten aussieht. Die kann man lesen wenn man herausfindet wie die Informationen zu deuten sind. Die `Python Imaging Library` (PIL) könnte hier nützlich sein.
Pythonchallenge Level3
-
- User
- Beiträge: 419
- Registriert: Sonntag 3. September 2006, 15:11
- Wohnort: in den weiten von NRW
- Kontaktdaten:
Ja, PIL hilft!
Und wo wir grad dabei sind, weiß einer was bei Level 12 zu tun ist? Hab zwar ein paar Unterseiten gefunden, aber bin trotzdem nicht weiter gekommen. Ist auch schon wieder etwas her...Irgendwann machts nämlich keinen Spaß mehr.
Und wo wir grad dabei sind, weiß einer was bei Level 12 zu tun ist? Hab zwar ein paar Unterseiten gefunden, aber bin trotzdem nicht weiter gekommen. Ist auch schon wieder etwas her...Irgendwann machts nämlich keinen Spaß mehr.
Das ist noch nicht Level 7, sondern das Ende von Level 6.Ich hänge gerade an Level 7, its in the air. look at the letters.
Die "letters" beziehen sich auf den Namen der HTML-Datei, die dir den Text ausgespuckt hat, den du oben zitiert hast - das war ja als "Lösungswort" bei Level 6 herausgekommen. Du musst ein bisschen mit den Buchstaben spielen, dann kommt was raus, was ungefähr so klingt wie das, wonach gesucht ist ...
Soweit ist er noch nicht. Das Bild sieht er erst, wenn er das Rätsel oben gelöst hat. Dann braucht er die PIL.BlackJack hat geschrieben:In dem Bild ist etwas das nach Daten aussieht. Die kann man lesen wenn man herausfindet wie die Informationen zu deuten sind. Die `Python Imaging Library` (PIL) könnte hier nützlich sein.
Hm tja ist schon lange her. Ich hatte hier halt noch ein Bild auf der Platte liegen und da steht oben links die Levelnummer 7, darum dachte ich das wäre schon gemeint.
Ah, das war ja kagge...
In diesen großen Buchstaben vom letzten Ergebnis waren die neuen auch schon wieder drin...
Danke!
Hat jemand eine Ahnung warum das hier in der IDLE funktioniert, aber in der normalen Kommandozeile nicht?
//Und über Verbesserungsvorschläge bin ich natürlich froh...^^
@BlackJack und Leonidas: Wenn euch das was hilft, kann ich euch die Lösung von Level 0 bis Level 7 schicken, habe alles mitdokumentiert.
In diesen großen Buchstaben vom letzten Ergebnis waren die neuen auch schon wieder drin...
Danke!
Hat jemand eine Ahnung warum das hier in der IDLE funktioniert, aber in der normalen Kommandozeile nicht?
Code: Alles auswählen
import zipfile
import re
stri = ""
zahl = "90052"
zip_datei = zipfile.ZipFile("C:\Data\Pythonchallenge\channel.zip")
datei_anzahl = len(zip_datei.namelist()) - 1 #minus Readme.txt
print datei_anzahl
for one in range(datei_anzahl):
code = zip_datei.read("%s.txt" %zahl) #Dateiinhalt
stri += zip_datei.getinfo("%s.txt" %zahl).comment #Banner
a = re.compile(r"([0-9]+)") #nächste Datei
results = re.findall(a,code) #nächste Datei
for two in results:
zahl = two
print zahl
print stri
ende = raw_input()
@BlackJack und Leonidas: Wenn euch das was hilft, kann ich euch die Lösung von Level 0 bis Level 7 schicken, habe alles mitdokumentiert.
``zahl = results[-1]`` um auf den letzten Match zuzugreifen ist vielleicht etwas direkter und eleganter als die Schleife in den Zeilen 13-14.
Code: Alles auswählen
import zipfile
import re
stri = ""
zahl = "90052"
zip_datei = zipfile.ZipFile("C:\Data\Pythonchallenge\channel.zip")
datei_anzahl = len(zip_datei.namelist()) - 1 #minus Readme.txt
print datei_anzahl
for one in range(datei_anzahl):
code = zip_datei.read("%s.txt" %zahl) #Dateiinhalt
stri += zip_datei.getinfo("%s.txt" %zahl).comment #Banner
a = re.compile(r"([0-9]+)") #nächste Datei
results = re.findall(a,code) #nächste Datei
for two in results:
zahl = two
print zahl
print stri
ende = raw_input()
Mich würde viel mehr interessieren warum das Programm hier in der IDLE funktioniert, aber nicht in der Windows Eingabeaufforderung...
Jemand eine Idee?
Danke!
Na dann prüft man halt ob es Treffer gab, oder nicht bevor man drauf zu greift, oder benutzt den `IndexError` gleich als Abbruch für die Schleife.
Was heisst "nicht funktionieren" denn genau? Explodiert der Rechner?
Was heisst "nicht funktionieren" denn genau? Explodiert der Rechner?
Dann lass doch erstmal den Doppelklick weg und starte es direkt in der Eingabeaufforderung.
Mit dem `IndexError` als "Abbruchbedingung":
Mit dem `IndexError` als "Abbruchbedingung":
Code: Alles auswählen
import re
import sys
import zipfile
archive = zipfile.ZipFile('channel.zip')
try:
number = '90052'
while True:
filename = number + '.txt'
sys.stdout.write(archive.getinfo(filename).comment)
number = re.findall('([0-9]+)', archive.read(filename))[-1]
except IndexError:
pass
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die Lösung steht seit Jahren in unseren FAQ.SchneiderWeisse hat geschrieben:Ich mach einen doppelklick, die Eingabeaufforderung öffnet sich und schließt sich auch gleich wieder...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Code: Alles auswählen
File "level6.py", line 11
SyntaxError: Non-ASCII character '\xe4' in file level6.py on line 11, but
oding declared; see http://www.python.org/peps/pep-0263.html for details
Was ist hier das Problem?
Vielen Dank!
also ich bedanke mich recht herzlich für die Hilfe!!!
Besonders das letzte Beispiel von BlackJack hat mir sehr weitergeholfen und mir einen Einblick gegeben, wie man klarer und kürzer programmieren kann.
Vielen Dank!
So funktioniert es, nur verstehe ich nicht warum er mir bei der anderen Version diese Fehlermeldung ausgibt...
Besonders das letzte Beispiel von BlackJack hat mir sehr weitergeholfen und mir einen Einblick gegeben, wie man klarer und kürzer programmieren kann.
Vielen Dank!
Code: Alles auswählen
import zipfile
import re
import sys
zip_datei = zipfile.ZipFile("C:\Data\Pythonchallenge\channel.zip")
try:
zahl = "90052"
while True:
file_name = zahl + ".txt"
sys.stdout.write(zip_datei.getinfo(file_name).comment)
zahl = re.findall(r"([0-9]+)",zip_datei.read(file_name))[-1]
except IndexError:
pass
ende = raw_input()
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du musst das Encoding angeben, also etwa ``# -*- coding: utf-8 -*-`` oben im Skript.SchneiderWeisse hat geschrieben:Was mir nicht besonders viel sagt...
Was ist hier das Problem?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice