Hilfe mit Geometriquiez
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Hallo,
mit der Suchfunktion findet man hier schon einiges zu dem Thema:
http://www.python-forum.de/topic-2420.html
http://www.python-forum.de/topic-4417.html
Stephan
mit der Suchfunktion findet man hier schon einiges zu dem Thema:
http://www.python-forum.de/topic-2420.html
http://www.python-forum.de/topic-4417.html
Stephan
Hi,
Ich habe die Such funktion bereits verwendet. Allerdings hilft mir das eine Thema insofern nichts da es GTK ist und das andere weicht sehr von meinem ab!
Es differenziert sich doch sehr von den anderen Themen. Trotzdem erst einmal Danke für die schnelle Antwort!
Mfg Frevla
Ich habe die Such funktion bereits verwendet. Allerdings hilft mir das eine Thema insofern nichts da es GTK ist und das andere weicht sehr von meinem ab!
Es differenziert sich doch sehr von den anderen Themen. Trotzdem erst einmal Danke für die schnelle Antwort!
Mfg Frevla
Für die Punkte kannst du eine flag setzten!
d.h.
Und am Ende einfach
Oder anderes - halt wie du es haben willst!
Zum weitersprinegen kannst du du das Fenster einfach in eine def frage1(): schrieben und die nächste in eine andere, dass musst du dann in eine schleife einbaun!^^
Ich hoffe das war gemeint
Grüße
Flo
Endlich konnt ihc mal einem helfen!^^
d.h.
Code: Alles auswählen
def right_1():
print 'richtig'
flag += 1 # oder auch Punkt jenachdem wie du sie nennen willst!
Code: Alles auswählen
print "Sie haben %i Punkte" % (flag)
Zum weitersprinegen kannst du du das Fenster einfach in eine def frage1(): schrieben und die nächste in eine andere, dass musst du dann in eine schleife einbaun!^^
Ich hoffe das war gemeint
Grüße
Flo
Endlich konnt ihc mal einem helfen!^^
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Mal nur so als Beispiel:
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
import Tkinter as tk
class Quiz:
## Die Fragen sind als Dictionary zu definieren
## im Format {Frage:[Antwort,Bild]}
fragen = {"Bei einem Tetraeder sind alle Seiten gleich lang und alle \
Flächen gleich groß":[True,1],
"Habe ich die Suchfunktion verwendet?":[False,2],
"Habe ich mir selbst Gedanken gemacht?":[True,3],
"Ist es richtig, Hausaufgaben durch andere erledigen zu \
lassen?":[False,4],
}
def __init__(self):
self.root = tk.Tk()
self.root.title('Geometriequiz')
self.maxX = 480
self.maxY = 320
self.richtig = 0
self.falsch = 0
self.alteFrage = ''
# Canvas
self.fr01 = tk.LabelFrame(self.root, text = 'Canvas-Zeichnung')
self.fr01.pack(fill=tk.X)
self.canvas= tk.Canvas(self.fr01,width=self.maxX,
height=self.maxY, bg='white')
self.canvas.pack()
# Fragelabel
self.fragenliste = self.fragen.keys()
self.anzahlfragen = len(self.fragenliste)
self.gewaeltefrage = 0
self.frage = tk.StringVar()
self.frage.set(self.fragenliste[0])
self.frame2 = tk.LabelFrame(self.root,text='Frage')
self.frame2.pack(fill=tk.X)
self.lab_1=tk.Label(self.frame2,textvariable = self.frage)
self.lab_1.pack()
#Buttonleiste
self.frame3 = tk.LabelFrame(self.root,text='Antwortbutton')
self.frame3.pack(fill=tk.X)
self.but_R=tk.Button(self.frame3,
text='Richtig',
command = lambda:self.pruefAntwort(True))
self.but_R.pack(side=tk.LEFT)
self.but_L=tk.Button(self.frame3,
text='Falsch',
command = lambda:self.pruefAntwort(False))
self.but_L.pack(side=tk.RIGHT)
self.anzeigeBild(self.fragen[self.frage.get()][1])
self.root.mainloop()
def pruefAntwort(self,button):
try:
if button == self.fragen[self.frage.get()][0]:
self.richtig += 1
self.naechsteFrage()
else:
self.falsch += 1
self.naechsteFrage()
except KeyError:
pass
def naechsteFrage(self):
self.gewaeltefrage += 1
if self.anzahlfragen > self.gewaeltefrage:
self.frage.set(self.fragenliste[self.gewaeltefrage])
self.anzeigeBild(self.fragen[self.frage.get()][1])
else:
self.frage.set('')
self.anzeigeLoeschen()
self.frage.set('richtige Antworten: %s, falsche Antworten %s'%\
(self.richtig,self.falsch))
def anzeigeBild(self,nummer):
self.anzeigeLoeschen()
if nummer == 1:
self.bild1()
elif nummer == 2:
self.bild2()
elif nummer == 3:
self.bild3()
elif nummer == 4:
self.bild4()
def anzeigeLoeschen(self):
self.canvas.destroy()
self.canvas= tk.Canvas(self.fr01,width=self.maxX,
height=self.maxY,
bg='white')
self.canvas.pack()
def bild1(self):
self.canvas.create_line(40,280,360,280)
self.canvas.create_line(40,280,200,120)
self.canvas.create_line(200,120,360,280)
self.canvas.create_line(360,280,200,240)
self.canvas.create_line(40,280,200,240)
self.canvas.create_line(200,120,200,240)
def bild2(self):
self.canvas.create_line(40,280,360,280)
def bild3(self):
self.canvas.create_line(360,280,200,240)
def bild4(self):
self.canvas.create_line(200,120,200,240)
if __name__ == '__main__':
Quiz()