(→Stickman: Rechtschreibung) |
(einmal durchgebytet) |
||
Line 14: | Line 14: | ||
[[File:Matrixfoo.png|right|thumb|Matrixfoo - Quelle: dodo]] | [[File:Matrixfoo.png|right|thumb|Matrixfoo - Quelle: dodo]] | ||
Es passieren Dinge in Python <del>und keiner weiß was</del>. | Es passieren Dinge in Python <del>und keiner weiß was</del>. Jeden Donnerstagabend ab ca. 18 Uhr. | ||
Jeden Donnerstagabend ab ca. 18 Uhr. | |||
Wir versuchen uns mit mehr oder weniger nützlichen Projekten Python und die Programmierung an sich gegenseitig bei zu bringen. | Wir versuchen uns mit mehr oder weniger nützlichen Projekten Python und die Programmierung an sich gegenseitig bei zu bringen. | ||
Anfänger in der Programmierung und/oder Python sind deshalb jederzeit | Anfänger in der Programmierung und/oder Python sind deshalb jederzeit willkommen ;). | ||
Ein tragbarer Computer mit Python 2.6, 2.7 oder Python 3.0 ist empfehlenswert, | Ein tragbarer Computer mit Python 2.6, 2.7 oder Python 3.0 ist empfehlenswert, zur Not stehen auch Gastrechner zur Verfügung. | ||
zur Not stehen auch Gastrechner zur Verfügung. | |||
== Installation == | |||
Die aktuell installierte Python-Version bekommt man heraus, indem man eine Shell öffnet und "python" eingibt. | |||
Verlassen kann man Python mit dem Kommando <tt>exit()</tt>. | |||
Sollte eine Meldung erscheinen wie | Sollte eine Meldung erscheinen wie | ||
Der Befehl »python« wurde nicht gefunden | Der Befehl »python« wurde nicht gefunden | ||
Line 33: | Line 32: | ||
=== Standardmäßig vorhanden === | === Standardmäßig vorhanden === | ||
'''ACHTUNG''' nachfolgende Liste ist UNVOLLSTÄNDIG und basiert auf selbst getesteten und erarbeiteten Ergebnissen. | '''ACHTUNG''' nachfolgende Liste ist UNVOLLSTÄNDIG und basiert auf selbst getesteten und erarbeiteten Ergebnissen. | ||
Python ist standardmäßig auf folgenden Distributionen vorhanden: | Python ist standardmäßig auf folgenden Distributionen vorhanden: | ||
* Debian | * Debian | ||
Line 41: | Line 41: | ||
!ALLE ANGABEN OHNE [http://de.wikipedia.org/wiki/Gew%C3%A4hr GEWÄHR]! | !ALLE ANGABEN OHNE [http://de.wikipedia.org/wiki/Gew%C3%A4hr GEWÄHR]! | ||
=== | === Arch === | ||
Python ist unter Arch nicht standardmäßig installiert, kann aber wie folgt mit root-rechten nachinstalliert werden: | Python ist unter Arch nicht standardmäßig installiert, kann aber wie folgt mit root-rechten nachinstalliert werden: | ||
pacman -Sy python | pacman -Sy python | ||
Aktuelle Version 3.3.x (03.11.2012) | |||
Weitere Infos: https://wiki.archlinux.org/index.php/Python | Aktuelle Version 3.3.x (03.11.2012). Weitere Infos: https://wiki.archlinux.org/index.php/Python | ||
== Projekte == | == Projekte == | ||
Line 51: | Line 52: | ||
[[File:joytestPythonfoo.png|right|thumb|joytest.py beim Laufen - Quelle: dodo]] | [[File:joytestPythonfoo.png|right|thumb|joytest.py beim Laufen - Quelle: dodo]] | ||
=== Stickman === | === Stickman === | ||
{{U|dodo}} arbeitet momentan am "Stickman Killer". Der "Stickman Killer" ist ein kleines Spiel, in dem der Spieler mit einen Dolch den Stickman verfolgt. Trifft der Dolch den Stickman werden Blutspritzer simuliert. Das Spiel benutzt [[PySFML]]. Zu dem Programm benötigt man auch noch ein ganzes Grafikpaket. Ausser dem Grafikfoo wird auch noch ein Programmpaket mitgeliefert. | {{U|dodo}} arbeitet momentan am "Stickman Killer". Der "Stickman Killer" ist ein kleines Spiel, in dem der Spieler mit einen Dolch den Stickman verfolgt. Trifft der Dolch den Stickman werden Blutspritzer simuliert. Das Spiel benutzt [[PySFML]]. Zu dem Programm benötigt man auch noch ein ganzes Grafikpaket. Ausser dem Grafikfoo wird auch noch ein Programmpaket mitgeliefert. | ||
Es gibt verschiedene Versionen: | |||
* MO: Originalversion | Es gibt verschiedene Versionen: | ||
* M1: Basisprogramm | |||
* M2: M1 mit neuen Grafiken | * MO: Originalversion | ||
* M3: M1 mi neuen Grafiken und einen italienischen Klempner, falls die letzte Super Mario Session nicht gut verlief. | * M1: Basisprogramm | ||
* M4: M1 mit Joystick Unterstützung | * M2: M1 mit neuen Grafiken | ||
* OTP: M1 mit dem zusätzlichen Feature, dass [https://wiki.chaosdorf.de/Pythonfoo#Zufall Zufallszahlen] für ein [http://de.wikipedia.org/wiki/One-Time-Pad One Time Pad] erstellt werden | * M3: M1 mi neuen Grafiken und einen italienischen Klempner, falls die letzte Super Mario Session nicht gut verlief. | ||
* joytest: Ein auf M1 basierendes Programm mit und für Joysticks | * M4: M1 mit Joystick Unterstützung | ||
* OTP: M1 mit dem zusätzlichen Feature, dass [https://wiki.chaosdorf.de/Pythonfoo#Zufall Zufallszahlen] für ein [http://de.wikipedia.org/wiki/One-Time-Pad One Time Pad] erstellt werden | |||
* joytest: Ein auf M1 basierendes Programm mit und für Joysticks | |||
==== Zufall? ==== | ==== Zufall? ==== | ||
Leider handelt es sich bei der Zufallserstellung in OTP nicht um wirklichen Zufall, dodo arbeitet schon daran ein Programm nur zur Erstellung von Zufallszahlen zu basteln. | Leider handelt es sich bei der Zufallserstellung in OTP nicht um wirklichen Zufall, dodo arbeitet schon daran ein Programm nur zur Erstellung von Zufallszahlen zu basteln. | ||
Allerdings ist es schwiering durch Mathematik (also Ordnung) Zufall (also [http://de.wikipedia.org/wiki/Chaos Chaos]) zu erhalten. | |||
Die Lösung sind Funktionen in der Mathematik, die nur in eine Richtung funktionieren (ähnlich wie beim [http://de.wikipedia.org/wiki/RSA-Kryptosystem RSA - Verfahren]). | Allerdings ist es schwiering durch Mathematik (also Ordnung) Zufall (also [http://de.wikipedia.org/wiki/Chaos Chaos]) zu erhalten. | ||
Eine solche Funktion ist zum Beispiel die [http://de.wikipedia.org/wiki/Quersumme Quersumme]. | |||
Man kann auch Eingaben des Benutzers verwenden (Mausschubserei!). | Die Lösung sind Funktionen in der Mathematik, die nur in eine Richtung funktionieren (ähnlich wie beim [http://de.wikipedia.org/wiki/RSA-Kryptosystem RSA - Verfahren]). | ||
Eine solche Funktion ist zum Beispiel die [http://de.wikipedia.org/wiki/Quersumme Quersumme]. | |||
Man kann auch Eingaben des Benutzers verwenden (Mausschubserei!). | |||
=== Pystorms === | === Pystorms === | ||
Bei Pystorms handelt es sich um ein futurales Event sobald Ergebnisse vorliegen werden sie hier vermerkt. | |||
Im Zweifelsfall: [ | Bei Pystorms handelt es sich um ein futurales Event sobald Ergebnisse vorliegen werden sie hier vermerkt. | ||
Im Zweifelsfall: [[Pystorms]] | |||
=== Pong === | === Pong === | ||
Im Moment spielen wir ein wenig mit SFML um zum Beispiel ein Pong 2.0 mit Python | Im Moment spielen wir ein wenig mit SFML um zum Beispiel ein Pong 2.0 mit Python programmieren zu können. Aber das soll Neulinge nicht abschrecken: Jeder hat mal klein angefangen! | ||
programmieren zu können. Aber das soll Neulinge nicht abschrecken: | |||
Jeder hat mal klein angefangen! | Für die Planung des Projektes und allgemeines Brainstorming wurde ein [http://piratenpad.de/ro/r.J1vN3Im0yJOATvMf pad] eingerichtet. | ||
Dort wird dann Pong 2.0 geplant. Pong 2.0 hat im Grunde das Ziel, die Objektorientierung unter Python zu verstehen bzw. verständlich zu machen. | |||
Dort wird dann Pong 2.0 geplant. Pong 2.0 hat im Grunde das Ziel, die Objektorientierung unter Python zu verstehen bzw. verständlich zu machen. | |||
Der aktuelle Sourcecode zu Pong1.0 und weiteren Übungsprojekten findet sich in unserem git-hub Repository [https://github.com/chaosdorf/pythonfoo pythonfoo.git] | Der aktuelle Sourcecode zu Pong1.0 und weiteren Übungsprojekten findet sich in unserem git-hub Repository [https://github.com/chaosdorf/pythonfoo pythonfoo.git] | ||
Line 86: | Line 95: | ||
=== PizzaProxyPrinter === | === PizzaProxyPrinter === | ||
Drucklibrary für den PizzaProxyPrinter, die im Verlauf eines Besuchs beim Raumzeitlabor in Mannheim entstanden ist. Das bisherige im Einsatz befindliche Modul im PizzaProxy | Drucklibrary für den PizzaProxyPrinter, die im Verlauf eines Besuchs beim Raumzeitlabor in Mannheim entstanden ist. Das bisherige im Einsatz befindliche Modul im PizzaProxy benutzte LaTeX um auf einem TSP-100 Thermodrucker die Bestellquittung mit QR-Code zu drucken. Die neue Libery benutzt statt dessen die Image module zum erstellen eines Image mit dem Druckinhalt und schickt dieses via LP an den Drucker. Tricky dabei ist die Formatierung auf beiden Seiten auf einander abzustimmen. [https://github.com/chaosdorf/pizzaproxyprinter PizzaProxyPrinter auf Github] | ||
benutzte LaTeX um auf einem TSP-100 Thermodrucker die Bestellquittung mit QR-Code zu drucken. Die neue Libery benutzt statt dessen die Image module zum erstellen eines Image mit dem Druckinhalt und schickt dieses via LP an den Drucker. Tricky dabei ist die Formatierung auf beiden Seiten auf einander abzustimmen. [https://github.com/chaosdorf/pizzaproxyprinter PizzaProxyPrinter auf Github] | |||
== Sonstiges == | == Sonstiges == | ||
Line 101: | Line 109: | ||
==== Web ==== | ==== Web ==== | ||
[http://bottlepy.org/docs/dev/ bottlepy] | * [http://bottlepy.org/docs/dev/ bottlepy] | ||
[http://www.cherrypy.org/ cherrypy] | * [http://www.cherrypy.org/ cherrypy] | ||
=== HowTos === | === HowTos === | ||
Einen kleinen Einstieg in die Programmiersprache gibt es hier: http://de.wikibooks.org/wiki/Python_unter_Linux | Einen kleinen Einstieg in die Programmiersprache gibt es hier: [http://de.wikibooks.org/wiki/Python_unter_Linux Wikibooks] | ||
Zu empfelen ist auch das [http://openbook.galileocomputing.de/python/ openbook] von galileo computing | Zu empfelen ist auch das [http://openbook.galileocomputing.de/python/ openbook] von galileo computing | ||
=== Links === | === Links === | ||
[http://pypi.python.org/pypi | * [http://pypi.python.org/pypi PyPI - the Python Package Index] | ||
[http://doda.co/7-python-libraries-you-should-know-about doda.co | * [http://doda.co/7-python-libraries-you-should-know-about doda.co - 7 schicke libs für Python] |
Revision as of 18:58, 21 November 2012
Pythonfoo unknown | |
---|---|
wöchentliches Treffen + Projekte | |
Quelltext | github |
Pythonfoo | |
---|---|
Dinge in Python | |
Art | Meet-Up |
Datum | every thursday |
Start | 18:00 |
Es passieren Dinge in Python und keiner weiß was. Jeden Donnerstagabend ab ca. 18 Uhr.
Wir versuchen uns mit mehr oder weniger nützlichen Projekten Python und die Programmierung an sich gegenseitig bei zu bringen. Anfänger in der Programmierung und/oder Python sind deshalb jederzeit willkommen ;).
Ein tragbarer Computer mit Python 2.6, 2.7 oder Python 3.0 ist empfehlenswert, zur Not stehen auch Gastrechner zur Verfügung.
Installation
Die aktuell installierte Python-Version bekommt man heraus, indem man eine Shell öffnet und "python" eingibt.
Verlassen kann man Python mit dem Kommando exit().
Sollte eine Meldung erscheinen wie
Der Befehl »python« wurde nicht gefunden
ist Python nicht installiert.
Standardmäßig vorhanden
ACHTUNG nachfolgende Liste ist UNVOLLSTÄNDIG und basiert auf selbst getesteten und erarbeiteten Ergebnissen.
Python ist standardmäßig auf folgenden Distributionen vorhanden:
- Debian
- Ubuntu
- Fedora (nicht bestätigt!)
!ALLE ANGABEN OHNE GEWÄHR!
Arch
Python ist unter Arch nicht standardmäßig installiert, kann aber wie folgt mit root-rechten nachinstalliert werden:
pacman -Sy python
Aktuelle Version 3.3.x (03.11.2012). Weitere Infos: https://wiki.archlinux.org/index.php/Python
Projekte
Aktuelle "Projekte"
Stickman
dodo arbeitet momentan am "Stickman Killer". Der "Stickman Killer" ist ein kleines Spiel, in dem der Spieler mit einen Dolch den Stickman verfolgt. Trifft der Dolch den Stickman werden Blutspritzer simuliert. Das Spiel benutzt PySFML. Zu dem Programm benötigt man auch noch ein ganzes Grafikpaket. Ausser dem Grafikfoo wird auch noch ein Programmpaket mitgeliefert.
Es gibt verschiedene Versionen:
- MO: Originalversion
- M1: Basisprogramm
- M2: M1 mit neuen Grafiken
- M3: M1 mi neuen Grafiken und einen italienischen Klempner, falls die letzte Super Mario Session nicht gut verlief.
- M4: M1 mit Joystick Unterstützung
- OTP: M1 mit dem zusätzlichen Feature, dass Zufallszahlen für ein One Time Pad erstellt werden
- joytest: Ein auf M1 basierendes Programm mit und für Joysticks
Zufall?
Leider handelt es sich bei der Zufallserstellung in OTP nicht um wirklichen Zufall, dodo arbeitet schon daran ein Programm nur zur Erstellung von Zufallszahlen zu basteln.
Allerdings ist es schwiering durch Mathematik (also Ordnung) Zufall (also Chaos) zu erhalten.
Die Lösung sind Funktionen in der Mathematik, die nur in eine Richtung funktionieren (ähnlich wie beim RSA - Verfahren).
Eine solche Funktion ist zum Beispiel die Quersumme.
Man kann auch Eingaben des Benutzers verwenden (Mausschubserei!).
Pystorms
Bei Pystorms handelt es sich um ein futurales Event sobald Ergebnisse vorliegen werden sie hier vermerkt.
Im Zweifelsfall: Pystorms
Pong
Im Moment spielen wir ein wenig mit SFML um zum Beispiel ein Pong 2.0 mit Python programmieren zu können. Aber das soll Neulinge nicht abschrecken: Jeder hat mal klein angefangen!
Für die Planung des Projektes und allgemeines Brainstorming wurde ein pad eingerichtet.
Dort wird dann Pong 2.0 geplant. Pong 2.0 hat im Grunde das Ziel, die Objektorientierung unter Python zu verstehen bzw. verständlich zu machen.
Der aktuelle Sourcecode zu Pong1.0 und weiteren Übungsprojekten findet sich in unserem git-hub Repository pythonfoo.git
PizzaProxyPrinter
Drucklibrary für den PizzaProxyPrinter, die im Verlauf eines Besuchs beim Raumzeitlabor in Mannheim entstanden ist. Das bisherige im Einsatz befindliche Modul im PizzaProxy benutzte LaTeX um auf einem TSP-100 Thermodrucker die Bestellquittung mit QR-Code zu drucken. Die neue Libery benutzt statt dessen die Image module zum erstellen eines Image mit dem Druckinhalt und schickt dieses via LP an den Drucker. Tricky dabei ist die Formatierung auf beiden Seiten auf einander abzustimmen. PizzaProxyPrinter auf Github
Sonstiges
interesting
Shell öffnen und folgendes eingeben:
python import antigravity antigravity
Frameworks
SFML - Simple and Fast Multimedia Library: PySFML
Web
HowTos
Einen kleinen Einstieg in die Programmiersprache gibt es hier: Wikibooks
Zu empfelen ist auch das openbook von galileo computing