
hier sogar ein forum gibt und von daher frage ich mich ob ihr mir helfen könnt.*hoff*Ich habe schon etliche Homepages besucht und mir von denen Infos geholt ,aber trotzdem blicke ich durch einige Programme noch nicht ganz durch ....
nr1:Eine "Klassen" Aufgabe
#!/usr/bin/env python
from Tkinter import *
root = Tk()
class Tier(Label):
def __init__(self,name):
self.name = StringVar(root)
Label.__init__(self,root,textvariable=self.name,relief="ridge")
self.pack(side=LEFT)
self.name.set(name)
self.n = name
self.bind("<Button-1>",self.gibLaut)
self.bind("<Button-3>",self.setName)
def gibLaut(self,e):
pass
def setName(self,e):
pass
class Hund(Tier):
def gibLaut(self,e):
self.name.set(self.n+": Wuff, wuff,...")
def setName(self,e):
self.name.set(self.n)
class Katze(Tier):
def gibLaut(self,e):
self.name.set(self.n+": Miau, miau ,...")
def setName(self,e):
self.name.set(self.n)
class Vogel(Tier):
def gibLaut(self,e):
self.name.set(self.n+": Tschiep, Tschiep, ...")
def setName(self,e):
self.name.set(self.n)
# ---------------------------------
# Hauptprogramm
tiere = []
tiere.append(Hund("Bello"))
tiere.append(Hund("Karo"))
tiere.append(Hund("Caesar"))
tiere.append(Katze("Mieze"))
tiere.append(Katze("Rolli"))
tiere.append(Vogel("Piepmatz"))
tiere.append(Vogel("Gööröödt"))
root.mainloop()
nr2 8-Damen
#!/usr/bin/env python2.1
from Tkinter import *
import tkMessageBox
root = Tk()
# ========================================
class Feld (Label): # erbt alle(!) Methoden und Attribute von "Label"
def __init__(self,parent,x,y):
Label.__init__(self,parent,width=8,height=4,relief="ridge")
self.x = x
self.y = y
self.bz = 0
self.dame = 0
self.bind("<Button-1>",self.setzeDame)
self.bind("<Button-3>",self.loescheDame)
self.pack(side=LEFT)
self.farbe()
def reset(self):
self.bz = 0
self.dame = 0
self.configure(text="")
def farbe(self):
if self.bz == 0:
if (self.x + self.y) % 2 == 0:
self.configure(bg="White")
else:
self.configure(bg="Gray")
else:
self.configure(bg="Red")
def setzeDame(self,e=None):
if (self.dame == 0) and (self.bz == 0):
self.configure(text="x")
self.dame = 1
self.bedroht(1)
self.faerbeNord(1)
self.faerbeNordOst(1)
self.faerbeOst(1)
self.faerbeSuedOst(1)
self.faerbeSued(1)
self.faerbeSuedWest(1)
self.faerbeWest(1)
self.faerbeNordWest(1)
farbeSetzen()
def bedroht(self,n):
self.bz = self.bz + n
def istBedroht(self):
return (self.bz > 0)
def loescheDame(self,e=None):
if self.dame == 1:
self.configure(text="")
self.dame = 0
self.bedroht(-1)
self.faerbeNord(-1)
self.faerbeNordOst(-1)
self.faerbeOst(-1)
self.faerbeSuedOst(-1)
self.faerbeSued(-1)
self.faerbeSuedWest(-1)
self.faerbeWest(-1)
self.faerbeNordWest(-1)
farbeSetzen()
def faerbeNord(self,n):
if self.x-1 >= 0:
f[self.x-1][self.y].bedroht(n)
f[self.x-1][self.y].faerbeNord(n)
def faerbeNordOst(self,n):
if (self.x-1 >= 0) and (self.y+1 <=7):
f[self.x-1][self.y+1].bedroht(n)
f[self.x-1][self.y+1].faerbeNordOst(n)
def faerbeOst(self,n):
if self.y+1 <= 7:
f[self.x][self.y+1].bedroht(n)
f[self.x][self.y+1].faerbeOst(n)
def faerbeSuedOst(self,n):
if (self.x+1 <= 7) and (self.y+1 <= 7):
f[self.x+1][self.y+1].bedroht(n)
f[self.x+1][self.y+1].faerbeSuedOst(n)
def faerbeSued(self,n):
if self.x+1 <= 7:
f[self.x+1][self.y].bedroht(n)
f[self.x+1][self.y].faerbeSued(n)
def faerbeSuedWest(self,n):
if (self.x+1 <= 7 ) and (self.y-1 >= 0):
f[self.x+1][self.y-1].bedroht(n)
f[self.x+1][self.y-1].faerbeSuedWest(n)
def faerbeWest(self,n):
if self.y-1 >= 0:
f[self.x][self.y-1].bedroht(n)
f[self.x][self.y-1].faerbeWest(n)
def faerbeNordWest(self,n):
if (self.x-1 >= 0 ) and (self.y-1 >= 0):
f[self.x-1][self.y-1].bedroht(n)
f[self.x-1][self.y-1].faerbeNordWest(n)
# ========================================
def farbeSetzen():
x = 0
while x < breite:
y = 0
while y < hoehe:
f[x][y].farbe()
y += 1
x += 1
# ========================================
def sucheAlleLoesungen():
global liste
global fertig
global loesung
zeile = 0 # Nmmer der zu besetzenden Zeile
liste = range(8) # Liste der unbesetzten Spalten
loesung= []
fertig = 0
sucheLoesung(0)
# ========================================
def sucheLoesung(zeile):
global fertig
if fertig != 1:
if zeile == hoehe:
anzahl.set(anzahl.get()+1) # schon wieder eine Lösung gefunden
loesungsString.set(str(loesung))
if not (tkMessageBox.askyesno(title="Weiter?", message="Soll nach weiteren Lösungen gesucht werden?")):
fertig = 1
else:
for spalte in liste:
if not f[zeile][spalte].istBedroht():
f[zeile][spalte].setzeDame()
loesung.append(spalte+1)
sucheLoesung(zeile+1)
f[zeile][spalte].loescheDame()
loesung.remove(spalte+1)
# ========================================
def reset():
x = 0
while x < breite:
y = 0
while y < hoehe:
f[x][y].reset()
f[x][y].farbe()
y += 1
x += 1
anzahl.set(0)
loesungsString.set("")
# ========================================
# Das Hauptprogramm
#========================================
hoehe = 8
breite = 8
anzahl = IntVar(root)
loesungsString = StringVar(root)
anzahl.set(0)
f = range(breite)
x = 0
while x < breite:
frame = Frame(root)
f[x] = range(hoehe)
y = 0
while y < hoehe:
f[x][y] = Feld(frame,x,y)
y += 1
frame.pack(side=TOP)
x += 1
# Und nun noch ein paar Knöpfe
f1 = Frame(root)
start = Button(f1,text="Start", command=sucheAlleLoesungen)
anzahlLoes = Label(f1,textvariable=anzahl)
loesung = Label(f1,textvariable=loesungsString)
stop = Button(f1,text="Reset", command=reset)
start.pack (side=LEFT)
anzahlLoes.pack(side=LEFT)
stop.pack (side=RIGHT)
loesung.pack (side=RIGHT,fill="both")
f1.pack (side=TOP,fill="x")
root.mainloop()
kann mir jemand sagen wie diese 2 Programme funktionieren ?In meinem Python Buch stehen etliche von den Befehlen nicht drin und die Hps auf denen ich war helfen auch nicht

BITTE helft mir!