Ideenlos :D

Du hast eine Idee für ein Projekt?
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Ideenlos :D

Beitragvon CrackPod » Montag 3. Juli 2006, 19:09

Hallo,

naja wenns hier um Ideen geht, dann glaub ich kann ich das hier auch posten :D
Also: Ich hab derzeitig keine Ideen, was ich programmieren könnte. Da ich mich aber richtig in Python reinarbeiten will, wollt ich mal fragen, ob mir jemand ein paar Sachen sagen kann, die ich proggen kann.
Aber bitte nich alzu schwere Dinge :wink:

Danke
Greetz
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

Ideen????

Beitragvon Andy » Montag 3. Juli 2006, 19:31

Hallo CrackPod,

zugegeben, vor dieser Frage stehe ich auch manchmal.
Ganz zum Anfang, weiß man natürlich erst recht nicht so richtig. :roll:

Es kommt so´n bischl auf die Verwendbarkeit in Deinem Interessengebiet an.

- Wozu willst Du proggen?
- Was musst Du können, damit Du später mal.....
- und vor allem wie: Konsole, GUI Tk...wxpython.....

Wie wär´s mit`nen Taschenrechner, Kalender, Uhr :?:
gruss andy
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Ideenlos :D

Beitragvon Leonidas » Montag 3. Juli 2006, 19:35

CrackPod hat geschrieben:Da ich mich aber richtig in Python reinarbeiten will, wollt ich mal fragen, ob mir jemand ein paar Sachen sagen kann, die ich proggen kann.

Klar: Vorschläge.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Beitragvon CrackPod » Montag 3. Juli 2006, 19:58

Also mit Pygame hab ich mich noch nich befasst. Also is das turtle Spiel weg.
http://svn.projectdream.org/people/mkub ... ets/trunk/ <--geht nich :D ich seh zumindest nix
Und das mit dem Radio wird mir zu kompliziert sein.

Naja am anfang würd ich eher viel Konsole machen. Is 1. irgendwie cooler :D Und wenn ich dann das GUI mäßiges will, dann is das ja keine große Umstellung. Da muss doch dann nur noch das GUI geschrieben werden oder? (is zumindest bei Java so^^)
Kalender hört sich nich schlecht an. Nur eines wär sicher praktisch: Ein gutes, klar strukturiertes Manual. Aber sollte auf deutsch sein. Zumin teilweise, da ich mich bei Programmier Manuals irgendwie immer schwer tu^^
Valnar
User
Beiträge: 49
Registriert: Samstag 1. Juli 2006, 12:31
Wohnort: Trier

Beitragvon Valnar » Montag 3. Juli 2006, 20:09

Also das erste was ich gemacht habe ist ein Verschlüsselungsprogramm in der Caesar-Art.

Hat zimlich gut geklappt...

Wenn du willst kannste bei meinen project mithelfen XD
Die Schrebfehler sind absicht und dienen der Belustigung.
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Beitragvon CrackPod » Montag 3. Juli 2006, 20:13

Wenns ne dumme Frage is: Tut mir Leid, aber was is die Caesar-Art?

Was is dein Projekt? V.a. wie schwer isses?
Und eine Deutsche Dokumentation gibts nich? Irgendwie postet nämlich keiner eine xD Google spuckt auch nich wirklich was aus :'(
Valnar
User
Beiträge: 49
Registriert: Samstag 1. Juli 2006, 12:31
Wohnort: Trier

Beitragvon Valnar » Montag 3. Juli 2006, 20:24

Also dei Caesar-Verschlüsselung ist wie gesagt von Caesar erfunden worden.

Dabei ist das alphabet um 4 Buchstaben verschoben.
Also:
A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A,B,C,D

Danach kann man mit schwereren verschlüsselugnen herumprobieren...
Die Schrebfehler sind absicht und dienen der Belustigung.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 3. Juli 2006, 21:54

CrackPod hat geschrieben:http://svn.projectdream.org/people/mkubica/snippets/trunk/ <--geht nich :D ich seh zumindest nix

Also ich seh da durchaus was.

CrackPod hat geschrieben:Und das mit dem Radio wird mir zu kompliziert sein.

Glaube ich nicht. Parser zu erstellen ist sehr einfach, darauf habe ich Wert gelegt. Beispiel.

Wie du meinst.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5554
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Telfs (Tirol)
Kontaktdaten:

Re: Ideenlos :D

Beitragvon gerold » Montag 3. Juli 2006, 22:05

CrackPod hat geschrieben:Aber bitte nich alzu schwere Dinge :wink:

Hi CrackPod!

Wie wärs mit einer Adressendatenbank. Als Basis SQLite. Lokale Einstellungen in eine INI-Datei (mit ConfigParser). Einfachste Textoberfläche. Kommandozeilenparameter mit "optparse"

[code=]>>> adressdb --search-lastname="*enz*"
2 addresses found:
- 1 Gerold P*enz*
- 2 Bernhard P*enz*
Select address: 2
...
...[/code]
Dann die Textoberfläche mit "gettext" internationalisieren.

Dann eine wxPython-Oberfläche zum Eingeben und Abfragen der Adressen. Einfache Suche nach Teilen der Adresse ermöglichen. Liste der Adressen. Sortierbare Liste. Wieder mit gettext internationalisieren.

Mit dem ReportManager http://reportman.sourceforge.net/ die Daten der Datenbank in Berichtsform ausdrucken lassen. Über das Kommandozeilentool -- das genügt. Man muss ja nicht alles in Python einbinden.

Übergabe der Adressdaten in die Zwischenablage, damit diese in anderen Programmen verwendet werden kann. Cut & Paste, Drag & Drop.

Serienbriefe mit den Adressen über OpenOffice.

Export der Adressen. Import der Adressen.

Mit den Adressen Zusatzinformationen verwalten:
- Wann hat wer mit wem zuletzt gesprochen? Was wurde ausgemacht?
- Wer hat wann mit wem einen Termin? Wann sollte man sich bei wem melden?

Wenn man bei so einem Beispiel nichts lernt, dann esse ich einen Besen samt Putzfrau. :-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Valnar
User
Beiträge: 49
Registriert: Samstag 1. Juli 2006, 12:31
Wohnort: Trier

Beitragvon Valnar » Montag 3. Juli 2006, 22:11

Also wie gesagt man KANN mir auch bei meinen Project helfen.

Wird ein textadventure und diue Story is aufm Blatt + 3 verscheidene Enden!!! Wird wohl auch nicht so schwer werden da ich auch ein anfänger bin ;)

Wenn ihr wollt erstell ich ein extra thread. (ob ich das weert bin XD )
Die Schrebfehler sind absicht und dienen der Belustigung.
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Beitragvon CrackPod » Montag 3. Juli 2006, 22:13

Valnar hat geschrieben:Also dei Caesar-Verschlüsselung ist wie gesagt von Caesar erfunden worden.

Dabei ist das alphabet um 4 Buchstaben verschoben.
Also:
A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,A,B,C,D

Danach kann man mit schwereren verschlüsselugnen herumprobieren...

Also die Caesar-Verschlüsselung hab ich nich gemacht.
Aber ne andere. Is allerdings noch sehr ausbaubedüftig :D

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
import random

def decode(s):
    expRandInt = random.randint(1,5)
    addRandInt = random.randint(1,50)
    #print 'exp',expRandInt
    #print 'add',addRandInt
    tempStr = []
    decode = []
    for i in s:
        tempStr.append(i)
    for i in tempStr:
        i = (ord(i))+addRandInt
        i = i*(addRandInt * expRandInt)
        decode.append(i)
    decode.append(addRandInt)
    decode.append(expRandInt)
    return decode

def encode(s):
    expRandInt = s[-1]
    addRandInt = s[-2]
    del s[-1]
    del s[-1]
    #print 'exp',expRandInt
    #print 'add',addRandInt
    tempStr = []
    encode = []
    for i in s:
        tempStr.append(i)
    for i in tempStr:
        i = (i/(addRandInt * expRandInt)) - addRandInt
        #print i
        i = chr(i)
        encode.append(i)
    s = ''.join(encode)
    return s

#Test beginnt hier:#
print 'SimpleEncode: Ein String wird in die ASCII Zahlen umgewandelt,
danach mit einer Zufallszahl addiert, danach malgenommen mit dem Produkt von 2 Zufallszahlen. Danach wird er wieder zurückgewandelt.'
decoded = decode('string')
print decoded
print encode(decoded)
print '--------------'
print encode(decode('string'))

Für die anderen: Danke für die Vorschläge
Trotzdem seh ich bei dem Link irgendwie nix :D
Zuletzt geändert von CrackPod am Dienstag 4. Juli 2006, 13:31, insgesamt 2-mal geändert.
Valnar
User
Beiträge: 49
Registriert: Samstag 1. Juli 2006, 12:31
Wohnort: Trier

Beitragvon Valnar » Montag 3. Juli 2006, 22:16

also mein quelltext is ungefähr halbsolang o0

Ich werde den morgen mal hier rienschreiben ;)
Die Schrebfehler sind absicht und dienen der Belustigung.
BlackJack

Beitragvon BlackJack » Montag 3. Juli 2006, 23:01

CrackPod hat geschrieben:Also die Caesar-Verschlüsselung hab ich nich gemacht.
Aber ne andere. Is allerdings noch sehr ausbaubedüftig :D


Einiges ist auch ein kleines bischen umständlich gelöst. Das lässt sich vereinfachen.

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
import random

def decode(s):
    expRandInt = random.randint(1,5)
    addRandInt = random.randint(1,50)
    #print 'exp',expRandInt
    #print 'add',addRandInt
    tempStr = []
    decode = []
    for i in s:
        tempStr.append(i)
    for i in tempStr:
        i = (ord(i))+addRandInt
        i = i*(addRandInt * expRandInt)
        decode.append(i)
    decode.append(addRandInt)
    decode.append(expRandInt)
    return decode


`tempStr` ist unnötig und die Art wie Du die Kopie erzeugst ist etwas umständlich. ``tempStr = list(s)`` hätte ausgereicht.

Das Du `i` in der Schleife erst an eine Zeichenkette und im Rumpf dann an eine Zahl bindest ist ein wenig unsauber.

Code: Alles auswählen

def encode(s):
    expRandInt = s[-1]
    addRandInt = s[-2]
    del s[-1]
    del s[-1]
    #print 'exp',expRandInt
    #print 'add',addRandInt
    tempStr = []
    encode = []
    for i in s:
        tempStr.append(i)
    for i in tempStr:
        i = (i/(addRandInt * expRandInt)) - addRandInt
        #print i
        i = chr(i)
        encode.append(i)
    s = ''.join(encode)
    return s


Die ersten vier Zeilen bekommt man auf zwei, wenn man die `pop()` Methode benutzt. Für `tempStr` gilt das gleiche wie oben.

Code: Alles auswählen

def decode(string):
    add_number = random.randint(1, 50)
    mult_number = random.randint(1, 5)
    pre_multiplied = add_number * mult_number
    result = [(ord(c) + add_number) * pre_multiplied for c in string]
    result.extend((add_number, mult_number))
    return result

def encode(data):
    mult_number = data.pop()
    add_number = data.pop()
    pre_multiplied = add_number * mult_number
    return ''.join(chr(i // pre_multiplied - add_number) for i in data)


Trotzdem seh ich bei dem Link irgendwie nix :D


Ich auch nicht. Man muss einen Browser benutzen, der mit XML und XSLT Stylesheets etwas anfangen kann.
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Beitragvon CrackPod » Dienstag 4. Juli 2006, 05:56

hm, also kopete tuts schonmal nich :D
Welcher kann das?
CrackPod
User
Beiträge: 205
Registriert: Freitag 30. Juni 2006, 12:56

Beitragvon CrackPod » Dienstag 4. Juli 2006, 06:04

BlackJack hat geschrieben:Einiges ist auch ein kleines bischen umständlich gelöst. Das lässt sich vereinfachen.
Dacht ich mir schon :D

BlackJack hat geschrieben:Die ersten vier Zeilen bekommt man auf zwei, wenn man die `pop()` Methode benutzt.

Bei pop wusst ich nich, was ich übergeben soll, damit er den letzten Eintrag nimmt.


Code: Alles auswählen

result = [(ord(c) + add_number) * pre_multiplied for c in string]
Ach so ging das ^^ Ich das for .. in am Anfang des Codes geschrieben und Syntaxerror bekommen :D

Code: Alles auswählen

return ''.join(chr(i // pre_multiplied - add_number) for i in data)
Fehlen da nich die []? Wenn nich warum? Is ja trotzdem ne Iteration, auch wenn sie in ner Funktion aufgerufen wird oder seh ich da was falsch?
extend is die neuere Version von append kann das sein?

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder