Seite 1 von 1

Python und Visual C#. ---> IRONPyton?

Verfasst: Dienstag 6. November 2007, 16:33
von skanami
Hallo, so wie ich den Thread gelesen hab, ist es nicht unfein, dass studenten ihre hausaufgaben hier machen lassen. Also ich brauche nur dringend hilfe weile ich meine idee für ein kleines projekt schwierig umsetzen kann. Es geht um folgendes ich möchte mit Hilfe von Python einen Algorithmus für die Erstellung aus einer distanzmatrix graphisch einen stammbaum erstellen lassen. Allerdings soll der in Python geschriebene Algorithmus über Windows.Forms initiert werden d.h. der anwender soll in einer multiplen Textbox seine distanzmatrix eingeben und über einen Button den python Algorithmus (linkage-algorithmus aus der Bioinformatik) initieren.
Problem nr. 1 :
Wie gelingt es mir dass die Eingabe in der Textbox nach einer Standard ausrichtung der Zahlen in der Matrix, vom Algorithmus erfasst wird und mathematisch umgesetzt werden kann.
Problem Nr. 2: Wie kann ich in arrays nach bestimmten zahlen suchen und mit ihnen fehlerfrei operieren, und ausserdem wie kann ich arrays ueberhaupt erstellen, mit tupeln ? ich will sie aber 2 dimensional ausgerichtet haben, gibts da nicht andere methoden ?
Problem Nr. 3: Mit welchen Befehlen stelle ich linien dar die meine "in diesem Fall Taxons" verknüpfen und schliesslich den Baum darstellen.
Kann ich diese Graphische Darstellung auch über C# erledigen?


Und allgemein muss ich mich mit ironPython deswegen befassen wegen der CLR?
Ich habe 2 monate zeit das hinzubekommen. utopisch? blöde idee? was meinen die experten ? ;)

Verfasst: Dienstag 6. November 2007, 17:20
von BlackJack
Wieviel Erfahrung hast Du denn mit Python, C# und Windows.Forms-GUIs? Wenn das alles drei Neuland für Dich ist, würde ich entweder auf Python setzen und C# und Windows.Forms weglassen oder Python weglassen.

Insbesondere falls GUI-Programmierung generell Neuland ist, solltest Du erst die Berechnung ohne GUI implementieren und eine einfache Texteingabe über eine Datei oder Kommandozeilenargumente für die Werte verwenden. Da kann man dann später immer noch eine GUI draufsetzen. Wenn Du beides, Berechnung und GUI, gleichzeitig in Angriff nimmst, besteht die Gefahr, dass beides vermischt wird und Du eventuell mit beidem nicht fertig wirst. Normalerweise ist eine korrekte Berechnung wichtiger als eine schicke GUI, die am Ende ein falsches Ergebnis anzeigt. ;-)

zu 1: Ich verstehe die Frage nicht!?

zu 2: "arrays" kann man in Python entweder mit verschachtelten Listen implementieren, oder speziell bei Vektor- und Matrizenrechnungen das `numpy`-Paket verwenden. Damit dürfte dann allerdings IronPython und .NET als Option wegfallen.

zu 3: Vektorgrafik geht bei CPython mit `Tkinter.Canvas`. Wenn es keine GUI-Ausgabe sein muss, ist für Bäume und Graphen GraphViz ganz interessant. Es gibt glaube ich ein Python-Modul für die Anbindung, man kann die Quelltextdateien für ``dot`` & Co aber auch recht einfach selber erstellen.

Verfasst: Dienstag 6. November 2007, 17:34
von gerold
BlackJack hat geschrieben:zu 3: Vektorgrafik geht bei CPython mit `Tkinter.Canvas`. Wenn es keine GUI-Ausgabe sein muss, ist für Bäume und Graphen GraphViz ganz interessant. Es gibt glaube ich ein Python-Modul für die Anbindung, man kann die Quelltextdateien für ``dot`` & Co aber auch recht einfach selber erstellen.
Hallo!

Und hier die Links dazu:
- http://graphviz.org/
- http://pypi.python.org/pypi/pygraphviz
- http://pypedal.sourceforge.net/

mfg
Gerold
:-)

Verfasst: Mittwoch 7. November 2007, 14:31
von skanami
Super!
Werd mich heute abend gleich mit beschäftigen.
Meien Kenntnisse für Python und C# sind relativ befriedigend. den Syntax, die Kontrollflüsse rall ich so zumindest.
Leider kann ich mich nicht entweder für Python oder für C# entscheiden. Da mein Projekt sich um die Kopplung von IronPython und C# befasst.
ich werde zunächst mal die angegebenen Links ansehen und weiter versuchen. Sicherlich werde ich noch auf einige Probleme stossen... mal sehen.

Vielen dank im voraus!

Verfasst: Mittwoch 7. November 2007, 22:09
von skanami
Wie gelingt es mir denn pyGraphviz zu installieren, so dass ich die funktionen in meiner Entwicklungsumgebung (IDLE) importieren und anwenden kann ?

Verfasst: Mittwoch 7. November 2007, 23:11
von Andy
skanami hat geschrieben:Wie gelingt es mir denn pyGraphviz zu installieren, so dass ich die funktionen in meiner Entwicklungsumgebung (IDLE) importieren und anwenden kann ?
skanami, keine Ahnung! Aber jetzt nicht noch ein 4. Thread/Post über pyGrahphviz, oder...? Bloß nicht sonst sind Dir hier glaub ich ein paar mehr böse. :evil: Daß kann echt nicht sein - denn das ist SPAM!!!!! :!:

Verfasst: Mittwoch 7. November 2007, 23:55
von BlackJack
@skanami: Wenn Du am Ende IronPython benutzen willst/musst, solltest Du auch damit arbeiten und nicht mit IDLE. PyGraphviz dürfte zum Beispiel unter IronPython nicht laufen weil kein reines Python ist sondern auch C-Quelltext enthält.

Verfasst: Freitag 9. November 2007, 17:15
von skanami
mmh nehmen wir an ich schreibe einen algorithmus in python und lass sie in eine .exe datei also auch plattformunabhängige form (oder net) uebersetzen. kann ich dann diese anwendungsdateien in win.Forms einbinden dass ich beispielsweise die berechnungen aus meinem Algorithmus durch c# graphish dargestellt werden.
geht das ? oder ist das zu kompliziert?