Kluges Herangehen an eine Programmieraufgabe...

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.
Antworten
DrAudio
User
Beiträge: 5
Registriert: Samstag 5. April 2014, 10:00

Hallo,

stehe immer häufiger vor bestimmten programmiertechnischen Fragestellungen, die ich eigentlich umsetzen sollte/müsste und so habe ich im Vorfeld einmal den Weg beschritten, mir Basisliteratur zu Python (2.7.xx) zu kaufen - nicht ein Buch sondern gleich eine ganze Handvoll.
Nach dem Beginn des Einlesens und Blättern fangen sehr viele Bücher mit "hello World" und gehen dann weiter den methodischen Weg - eigentlich sehr sinnvoll, nur für mich leider nicht die Lösung meiner Probleme. Eigentlich bräuchte man eine Art "Cookbook", wo es Samples gibt, die sich dem eignen Problem schon gut annähern.

Beispiel:
ich habe eine textbasierende Datei mit Endung *.txt. Diese Datei hat immer eine Kopfzeile mit Datum, Uhrzeit, Name Bediener, Referenzmesswert.
Dann folgen 2 Spalten mit Position und dazugehörigem Messwert (360 Wertepaare). Aus den Messwerten muss Mittelwert, Std-Abweichung, Min/Max und noch andere statistische Funktionen gebildet werden.
Heißt also *.txt-file "richtig" einlesen, Kopfzeile separieren mit dem Rest die mathematischen Manipulationen durchführen und die Ergebnisse plus Kopfzeile in einer Tabelle und einer Grafik ausgeben und die Ergebnisse speichern. Einfach formuliert.....

Als nicht mehr unbedingter Einsteiger ein große Hürde so etwas zu lösen. Aus dieser Überlegung resultierte nun der Gedanke, unabhängig von der Programmiersprache sich ein Konzept zu überlegen, was muss ich tun um obige Ergebnis zu erzielen - Flussdiagramm etc.

Ist das obige Beispiel für einen Anfänger überhaupt umsetzbar oder ist es eher eine Sache für Experten. Ist die von mir angedachte Vorgehensweise sinnvoll / zielführend, oder soll man es lieber anders anfassen??

Nur so zur Info, ich habe jede Menge ähnlich geartete Probleme, wie das obige und wäre froh, hierfür einen Ansatz zu finden.
Würde mal gerne die Meinung des Forums dazu mir anhören - bin offen in jeder Hinsicht.

Danke und Gruß

Tom
BlackJack

@DrAudio: Bei dieser Art von Problemstellungen würde ich die ”Lernstationen” Python-Grundlagen, Numpy, eventuell Matplotlib, und dann Pandas ansteuern. Für Numpy und Pandas gibt es Tutorials/Links in deren Dokumentationen. Bücher würde ich persönlich mir nur noch für sehr allgemeine oder sehr spezielle Themen kaufen. Also Sachen die schon lange Gültigkeit haben und/oder haben werden, oder Spezialthemen wo man noch Domänenwissen dazu lernen muss oder wo es keine guten Informationsquellen im Netz gibt.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

grundsätzlich sollte man das Gesamtproblem immer in Teilprobleme zerlegen und diese dann einzeln lösen. Im einfachsten Fall schreibt man für jedes Teilproblem eine Funktion, bei komplexeren Sachen kann es Sinn machen, sich eine Klasse zu schreiben und dann mit Instanzen der Klasse zu arbeiten.

Im vorliegenden Fall wäre es ja "nur" drei Teilprobleme:
1) Daten einlesen und in eine passende Struktur bringen
2) rechnen
3) Ausgabe

Der Hauptpunkt ist vielleicht die Struktur der Daten - da ich deine Besprechung mit ganz verstehe, kann ich dir da so jetzt gerade nicht mehr zu sagen...

Abgesehen von dem generischen Vorgehen: Aufgrund deiner Beschreibung bietet sich denke ich der Einsatz von pandas (http://pandas.pydata.org/) an, dass kann das nämlich alles ootb, d.h. du musst selber keine Funktionen oder so schreiben, sondern lediglich die Klassen und Methoden von pandas nutzen. Und weil Programmierer faul sind, bevorzugen sie immer funktionierende und bewährte Lösungen :-)

Gruß, noisefloor

Nachtrag: BlackJack war 1min schneller mit dem Antworten :-)
Antworten