x y^^

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.
Crackus
User
Beiträge: 24
Registriert: Donnerstag 19. Februar 2009, 09:59

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

Code: Alles auswählen

Anzahl                      Blume                                Kosten
10                            Tulpe                                 3.5€
3                             Geranie                               1.5€
   
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


Ziel der Woch: ohne Hände und Füße kommunizieren
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

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
Gruß!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

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?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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!
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) :P.

Viele Grüße
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@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.
problembär

Ist schon klar, daß die Implementation sch***e ist :roll:.

Ich wollte nur möglichst genau das machen, was Crackus gemacht hat, damit er es nachvollziehen kann.

Gruß
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Crackus hat geschrieben:[...] ich verkaufe das programm...[...]
Das ich nicht lache, an wen, dem könnte ich auch noch ein paar
Programme anbieten... :twisted:
Glaubst du echt, dass du das verkaufen kannst ??!
Sorry, wenn das fies klingt, aber ich bin geschockt.

MfG Jonas :wink:
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 ...
:mrgreen:

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