Python: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Screen-Methoden) |
Flinh1 (Diskussion | Beiträge) (→Eigenes Bild für die Turtle definieren) |
||
| Zeile 198: | Zeile 198: | ||
import turtle | import turtle | ||
hintergrund = turtle.Screen() # Hintergrund-"Screen" aufrufen | hintergrund = turtle.Screen() # Hintergrund-"Screen" aufrufen | ||
| − | hintergrund.addshape("ninja.gif") # Neue Form (shape) definieren | + | hintergrund.addshape("/pfad/ninja.gif") # Neue Form (shape) definieren |
ninja = turtle.Turtle() | ninja = turtle.Turtle() | ||
ninja.shape("/pfad/ninja.gif") | ninja.shape("/pfad/ninja.gif") | ||
Version vom 15. Mai 2019, 08:26 Uhr
Inhaltsverzeichnis
IDLE
IDLE ist die IDE des Python-Projekts.
IDLE personalisieren
> Options, Configure IDLE
Verhalten bei F5
Die Aufforderung zu speichern bei der Ausführung einer noch nicht gesicherten Datei abschalten:
- Reiter General, At Start of Run (F5) > No Prompt
History in der IDLE-Shell aktivieren
- Reiter Keys > history-next > Get New Keys for Selection, 'Up Arrow und Down Arrow auswählen und speichern.
Sortieren
Funktion sort():
liste.sort()
Bubblesort
def bubblesort(x, Index) :
for i in range(Index) :
for j in range(Index-i-1) :
if x[j] > x[j+1] :
x[j], x[j+1] = exchange(x[j], x[j+1]);
Beispiel:
bubblesort(liste,6)
print(liste)
datetime
Ausgebe der Indexnummer für den aktuellen Wochentag:
import datetime
tage = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"]
wochentag = datetime.datetime.today().weekday()
print ("Heute ist",tage[wochentag])
Tkinter
Tkinter ist die Python-Schnittstelle zu Tk. Tkint ist ein Akronym für "Tk interface". Tk wurde ursprünglich als eine GUI-Erweiterung für Tcl entwickelt.
Import
Unter Python2 wird Tkinter großgeschrieben, unter Python3 kleingeschrieben: tkinter.
Python2: from Tkinter import *
Python3: from tkinter import *
Widgets
button canvas checkbutton combobox entry frame label labelframe listbox menu menubutton message notebook tk_optionMenu panedwindow progressbar radiobutton scale scrollbar separator sizegrip spinbox text treeview
Fenster
tk_chooseColor - lässt ein Pop-up-Fenster erscheinen, dass es dem Benutzer ermöglicht eine Farbe aus einer Palette auszuwählen. tk_chooseDirectory - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv ein Verzeichnis auszuwählen. tk_dialog - ein Pop-up-Fenster in Form eines Dialogfenster tk_getOpenFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Öffnen auszuwählen. tk_getSaveFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Schreiben auszuwählen. tk_messageBox - Pop-up-Fenster mit Message. tk_popup - Pop-up-Fenster. toplevel - erzeugt und verändert Widgets auf höchster Ebene.
Geometrie-Manager
place grid pack
Beispiel Textbox
from tkinter import *
w1=Tk()
w1.geometry('100x100')
w1.config(bg='#f00')
w1.title('red windows')
w2=Tk()
w2.geometry('300x300')
w2.config(bg='grey')
w2.title('grey windows')
t1 = Label(w1, text='text in red window', fg='yellow', bg = 'grey')
t1.config(font = ('Times', 25))
t1.pack()
w1.mainloop()
w2.mainloop()
Turtle
Methoden
- hideturtle()
- forward(x)
- backward(x)
- left(x)
- right(x)
- pensize(x)
- pencolor(x,y) # Zeichenfarbe, Füllfarbe
- penup(), up()
- pendown(), down()
- goto(x,y)
- shape(x) # Vordefinierte Werte: arrow, turtle, circle, square, triangle, classic
- speed(x) # 1 = langsam, 6 = normal, 10 = schnell
Screen-Methoden
Mit diesen Methoden wird der Hintergrund für Turtle definiert.
- setup(x,y) # Stellt Breite und Höhe ein.
- bgcolor(x) # Stellt die Hintergrundfarbe ein.
- bgpic(x) # Definiert Hintergrundbild.
Beispiel:
import turtle
ninja = turtle.Turtle()
hintergrund = turtle.Screen()
ninja.pensize(20)
ninja.shape("classic")
hintergrund.bgpic("/home/pfad/Bilder/hintergrundbild.gif")
Eigenes Bild für die Turtle definieren
import turtle
hintergrund = turtle.Screen() # Hintergrund-"Screen" aufrufen
hintergrund.addshape("/pfad/ninja.gif") # Neue Form (shape) definieren
ninja = turtle.Turtle()
ninja.shape("/pfad/ninja.gif")
----
=== Farben ===
turtle.color(rot,grün,blau)
* Rot <code>(1,0,0)</code>
* Grün <code>(0,1,0)</code>
* Blau <code>(0,0,1)</code>
* Gelb <code>(1,1,0)</code>
* Cyan <code>(0,1,1)</code>
* Schwarz <code>(0,0,0)</code>
* Weiß <code>(1,1,1)</code>
* Gold <code>(0.9,0.75,0)</code>
* Hellrosa <code>(1,0.7,0.75)</code>
* Orange <code>(1,0.5,0)</code>
* Orange <code>(0.9,0.5,0.15)</code>
----
The X11 Color Set:
*http://cng.seas.rochester.edu/CNG/docs/x11color.html
----
== pyperclip ==
Installation:
<code>apt-get install python-pyperclip</code>
Das Modul pyperclip lässt sich aber erst laden nach
<code>sudo pip3 install pyperclip</code>
----
== pygame ==
=== Installation ===
Installation in Ubuntu:
pip3 install pygame
<!-- apt-get install python-pygame-->
[https://stackoverflow.com/questions/42961294/no-module-named-pygame]
----
=== Zeichnen ===
Beispiel Regenbogenflagge:
<nowiki>
import pygame
cols = ['#ff0000','#ff8000','#ffff00','#008000','#0000ff','#a000c0']
w, h = 1000, 618 # width, height
y = h/6 # width per stripe
d = pygame.display.set_mode((w,h))
for i, c in enumerate(cols):
d.fill(pygame.Color(c),rect=(0,i*y,w,y*(i+1)))
pygame.display.flip()
pygame.image.save(d,'RainbowFlag.png')
pyinstaller
Installation:
apt install python-pip pip install pyinstaller
pyinstaller -F erzeugt ein Stand Alone Executable. Dieses liegt dann im Verzeichnis dist.
Typographie
Sonderzeichen Herz = u'\u2764'
Formatierung
Formatierung von float-Zahlen ("Gleitkommazahlen") auf 2 Nachkommastellen: '%.2f' %
kapital = 22092.442508224092
print('%.2f' % kapital)
>>> 22092.44
Troubleshooting
Deutsche Sonderzeichen lassen sich in IDLE nicht abspeichern
Entweder an den Anfang des Skripts folgende Zeile setzen:
# -*- coding: utf-8 -*-
bzw.
# -*- coding: cp1252 -*-
oder in IDLE (Shell-Menü) folgende Einstellung vornehmen: Options > Configure IDLE > General > Default Source Encoding > UTF-8
Code liegt in Python 2 vor
>> Umwandlung mit dem Skript 2to3.py. Das Skript liegt im Verzeichnis von Python 2.
Man kann sich 2to3.py natürlich auch in das lokale Verzeichnis legen. Umwandlung mit
python -w 2to3.py py2Datei.py
Links und Quellen
Youtube
| |