Seite 2 von 2
nich an alle
Verfasst: Dienstag 3. März 2009, 15:48
von Crackus
das gilt natürlich nicht für alle die meisten hier haben warscheinlich abi studieren informatik und sind einfach nur hilfsbereit
und wenn der kommentar wäre
"Man sieht du bist ein Anfänger das kann man so und so auch flexibler machen" dann wäre alles okay aber "Wir werden alle Sterben" ist keine ironie allenfalls eine nicht witzige Srakastische anmerkung wobei ich was für schwarzen humor habe
Ich kriege jetzt demnächst eine original rechnung von ihm (Raed) dann weiß ich wie ich es aufbau
Mein ziel ist es ein programm zu schreiben was eine rechnung schreibt
mein Problem ist das der Rechnungsaufbau in etwa so aussehen soll
und ich es nur so hinkriege
Code: Alles auswählen
Anzahl Blume Kosten
10 Tulpe 3.5€
3 Geranie 1.5€
100000 Gänseblume 10000€
also das die abstände zwischen den einzelnen spalten sich nicht verändern
Verfasst: Dienstag 3. März 2009, 15:52
von C4S3
Wir wissen aber immer noch nicht, WIE die Daten denn ausgegeben werden. Du schreibst nur, dass du es nicht hinbekommst, aber WIE und WO gibst du die Daten aus? In der Konsole? Auf einem Fenster (wenn ja, welches Toolkit)?
Wenn's die Konsole ist:
http://www.python.org/doc/2.5.2/lib/module-pprint.html
Verfasst: Dienstag 3. März 2009, 16:06
von Hyperion
Also das bringt uns doch schon ein bisschen weiter!
Ich will Dir jetzt nicht die Laune verderben, aber diese Ausgabe sollte Dein kleinstes Problem sein
Grundsätzlich fehlt Dir doch eine grundlegende Datenstruktur! Wie speicherst Du einzelne Datensätze (also eine Zeile?) Woher nimmst Du den Preis für eine "Blume"? Wie kannst Du dann die Endwerte (Summe, MwSt und beides als Summe) berechnen?
Das sind imho die grundlegenden Fragen, die man sich stellen muss!
Danach kommt dann sicherlich die Frage, wie das ganze ausgegeben werden soll. Will man ein PDF oder doch eine besser manipulierbare Datei? Oder das ganze doch eher Datenbank basiert?
Ich würde bei so etwas sicherlich zu Datenbanken greifen. Das macht die Verwaltung der Daten relativ einfach und ermöglicht darüber hinaus auch noch später schöne Statistiken.
Als Ausgabe bietet sich imho OO.org an. Wenn man seine Rechnungen sowieso noch mit allem Piff und Paff wie Logo, Anschrift usw. nach DIN-Norm verpacken will, ist ja "nur" der eigentliche Rechnungs-Inhalt dynamisch. Diesen kann man dann sicherlich per Templating dann einsetzen - oder das ganze per CVS-Import realisieren.
Aber um auf deine Frage zurückzukommen:
http://docs.python.org/library/stdtypes ... operations
Re: okay...
Verfasst: Dienstag 3. März 2009, 16:38
von hendrikS
Crackus hat geschrieben:ich schreibe aber wirklich für laien (also leute die mich weniger als 5 jahre kennen) ziemlich unverständlich aber ich arbeite dran^^
Wenn ich das alles so lese, frage ich mich, wer ist eigentlich der Laie?
Verfasst: Dienstag 3. März 2009, 18:02
von Leonidas
Hyperion hat geschrieben:Als Ausgabe bietet sich imho OO.org an. Wenn man seine Rechnungen sowieso noch mit allem Piff und Paff wie Logo, Anschrift usw. nach DIN-Norm verpacken will, ist ja "nur" der eigentliche Rechnungs-Inhalt dynamisch. Diesen kann man dann sicherlich per Templating dann einsetzen - oder das ganze per CVS-Import realisieren.
Ich bin vermutlich noch von der alten Schule aber bei sowas fällt mir eher LaTeX als OOo ein

Dort gibt es sicherlich auch schon fertige Rechnungsklassen, wo man einfach nur noch Text einsetzen muss.
Verfasst: Dienstag 3. März 2009, 18:43
von Hyperion
Leonidas hat geschrieben:
Ich bin vermutlich noch von der alten Schule aber bei sowas fällt mir eher LaTeX als OOo ein

Dort gibt es sicherlich auch schon fertige Rechnungsklassen, wo man einfach nur noch Text einsetzen muss.
Japp - ist sicherlich auch eine schöne Lösung!
Verfasst: Dienstag 3. März 2009, 23:10
von problembär
Hi,
ich glaube, was Crackus uns mit seinem Skript sagen wollte - und es hat verdammt lange gedauert, das herauszufinden - ist schlicht:
Code: Alles auswählen
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
PFAD = "/home/Crackus/Desktop/Raed/"
filehandle = open(PFAD + "RaedZahl.txt", "r")
count = filehandle.read()
filehandle.close()
count = count.rstrip("\n")
count = int(count)
rechnung = ["Anzahl | Pflanze | Preis \n",
"_________|__________________________________________________________|_______________________________________________ \n",
" | \n"]
print "Pflanzen"
while True:
AnzahlPflanzen = raw_input("Anzahl der Pflanze: ")
if AnzahlPflanzen == "Ende":
break
Pflanze = raw_input("Um welche Pflanze handelt es sich?: ")
rechnung.append(AnzahlPflanzen + " " + Pflanze + "\n")
# Euro = input("Wie viel Euro kostet diese Pflanze / Stück?: ")
filehandle = open(PFAD + "Rechnung" + str(count) + ".txt", "w")
filehandle.writelines(rechnung)
filehandle.close()
count += 1
filehandle = open(PFAD + "RaedZahl.txt", "w")
filehandle.write(str(count))
filehandle.close()
Nur kannte er leider keine Listen und keine Wertübergabe an und aus Funktionen (die hier im übrigen auch gar nicht gebraucht werden)

.
Viele Grüße
Verfasst: Mittwoch 4. März 2009, 12:03
von Hyperion
@problembär: Nein, das glaube ich nicht! Zeile 29 beherbergt ja immer noch das gleiche Problem.
Und wie schon so oft erwähnt wurde, sollten Pfade per os.path.join() zusammen gebaut werden!
Code auf Modulebene ist ebenfalls idR nicht wünschenswert.
Dateihandling ohne Fehlerbehandlung ist imho auch nicht zu empfehlen.
Wir kennen diese ominöse "RaedZahl.txt" nicht! Was soll da drin stehen? Ein Integerwert? Den so zu parsen ist imho auch eher unglücklich ... (und ebenfalls unsicher!)
Naja, alles in allem etwas kürzer, aber immer noch eine eher unschöne Implementation.
Aber solnage sich Crackus zu grundlegenden Fragen nicht äußert (s. mein 2. Posting vom Dienstag), kommen wir hier eh nicht weiter.
Verfasst: Mittwoch 4. März 2009, 22:25
von problembär
Ist schon klar, daß die Implementation sch***e ist

.
Ich wollte nur möglichst genau das machen, was Crackus gemacht hat, damit er es nachvollziehen kann.
Gruß
Re: okay code kommt
Verfasst: Donnerstag 5. März 2009, 09:34
von jonas
Crackus hat geschrieben:[...] ich verkaufe das programm...[...]
Das ich nicht lache, an wen, dem könnte ich auch noch ein paar
Programme anbieten...

Glaubst du echt, dass du das verkaufen kannst ??!
Sorry, wenn das fies klingt, aber ich bin geschockt.
MfG Jonas

Verfasst: Donnerstag 5. März 2009, 20:04
von problembär
Crackus hat geschrieben:ich verkaufe das programm...
jonas hat geschrieben:Das ich nicht lache, an wen
Na, an sich selbst:
Crackus hat geschrieben:ich brauche für mein (bezahltes) programm ...
Gruß
P.S.: Vielleicht noch etwas zu seinem Code:
1. Da er keine Listen kannte, hat er für jede Zeile seine Ausgabedatei mit "a" geöffnet, und dann die einzelne Zeile dort hineingeschrieben.
2. Da er nicht wußte, wie man Funktionen Werte übergibt, hat er versucht, globale Variablen zu verwenden.