Quiz hinzugefügt.
This commit is contained in:
		
							
								
								
									
										131
									
								
								quiz/neuesquiz.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								quiz/neuesquiz.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,131 @@
 | 
			
		||||
import tkinter as tk
 | 
			
		||||
from random import randint
 | 
			
		||||
 | 
			
		||||
D = {1: "George Washington", 2: "John Adams", 3: "Thomas Jefferson",
 | 
			
		||||
     4: "James Madison", 5: "James Monroe"}
 | 
			
		||||
 | 
			
		||||
P = list(D.values())
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Application(tk.Frame):
 | 
			
		||||
 | 
			
		||||
	def __init__(self, master=None):
 | 
			
		||||
		super().__init__(master)
 | 
			
		||||
		self.sel=tk.StringVar()
 | 
			
		||||
		self.chosen=randint(0,len(D)-1)
 | 
			
		||||
		self.cntCorr=0
 | 
			
		||||
		self.cntWrong=0
 | 
			
		||||
		#build GUI
 | 
			
		||||
		self.pack()
 | 
			
		||||
		self.create_widgets()
 | 
			
		||||
		print(self.chosen)
 | 
			
		||||
 | 
			
		||||
	def create_widgets(self):
 | 
			
		||||
		#Anzeige
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		# Frage
 | 
			
		||||
		self.lf_q = tk.LabelFrame(self)
 | 
			
		||||
		self.lf_q["text"]="Frage"
 | 
			
		||||
		self.lf_q.grid(columnspan=2,column=0, row=1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		self.namelabel=tk.Label(self.lf_q)
 | 
			
		||||
		self.namelabel["text"] = "Wer war der " + str(list(D.keys())[self.chosen]) + ". US-Präsident?"
 | 
			
		||||
		self.namelabel.grid(column=0,row=0)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                # Antwort
 | 
			
		||||
 | 
			
		||||
		self.lf_a = tk.LabelFrame(self)
 | 
			
		||||
		self.lf_a["text"]="Antwort"
 | 
			
		||||
		self.lf_a.grid(columnspan=2,column=0, row=2)
 | 
			
		||||
 | 
			
		||||
		# Antwort 1
 | 
			
		||||
 | 
			
		||||
		self.l_a1 = tk.Radiobutton(self.lf_a, variable=self.sel, command=self.selectParty)
 | 
			
		||||
		self.l_a1["text"]="Test1"
 | 
			
		||||
		self.l_a1.grid(column=0,row=0)
 | 
			
		||||
 | 
			
		||||
		# Antwort 2
 | 
			
		||||
 | 
			
		||||
		#self.l_a2 = tk.Radiobutton(self.lf_a, variable=self.sel, command=self.selectParty)
 | 
			
		||||
		#self.l_a2["text"]="Test2"
 | 
			
		||||
		#self.l_a2.grid(column=0,row=1)
 | 
			
		||||
 | 
			
		||||
		# Antwort 3
 | 
			
		||||
 | 
			
		||||
		self.l_a3 = tk.Radiobutton(self.lf_a, variable=self.sel,  command=self.selectParty)
 | 
			
		||||
		self.l_a3["text"]="Test3"
 | 
			
		||||
		self.l_a3.grid(column=0,row=2)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		self.radios=list()
 | 
			
		||||
		for party in P:
 | 
			
		||||
			r = tk.Radiobutton(self.lf, text=party, variable=self.sel, value = party, command=self.selectParty)
 | 
			
		||||
			r.pack(anchor="w")
 | 
			
		||||
			self.radios.append(r)
 | 
			
		||||
 | 
			
		||||
        #Button: Check
 | 
			
		||||
		self.btcheck = tk.Button(self)
 | 
			
		||||
		self.btcheck["text"] = "Überprüfen"
 | 
			
		||||
		self.btcheck["command"] = self.checkinput
 | 
			
		||||
		self.btcheck.grid(column=0,row=2)
 | 
			
		||||
 | 
			
		||||
		#Button: Go-on
 | 
			
		||||
		self.btgoon = tk.Button(self)
 | 
			
		||||
		self.btgoon["text"]="weiter"
 | 
			
		||||
		self.btgoon["command"]= self.nextq
 | 
			
		||||
		self.btgoon["state"]="disabled"
 | 
			
		||||
		self.btgoon.grid(column=1,row=2)
 | 
			
		||||
 | 
			
		||||
		#Label: Ergebnis
 | 
			
		||||
		self.reslabel=tk.Label(self)
 | 
			
		||||
		self.reslabel["text"] = ""
 | 
			
		||||
		self.reslabel.grid(column=0,row=3)
 | 
			
		||||
 | 
			
		||||
		#Label: Punkte
 | 
			
		||||
		self.pointslabel=tk.Label(self)
 | 
			
		||||
		self.pointslabel["text"] = str(self.cntCorr) + " von " + str(self.cntCorr+self.cntWrong) + " richtig."
 | 
			
		||||
		self.pointslabel.grid(column=1,row=3)
 | 
			
		||||
 | 
			
		||||
		#Button: Quit
 | 
			
		||||
		self.quit = tk.Button(self, text="QUIT", fg="red",
 | 
			
		||||
                              command=root.destroy)
 | 
			
		||||
		self.quit.grid(column=1,row=4)
 | 
			
		||||
 | 
			
		||||
	def selectParty(self):
 | 
			
		||||
		selection=self.sel.get()
 | 
			
		||||
		print("Partei ausgewählt: " + selection)
 | 
			
		||||
 | 
			
		||||
	def checkinput(self):
 | 
			
		||||
		self.btcheck["state"]="disabled"
 | 
			
		||||
		self.btgoon["state"]="normal"
 | 
			
		||||
		if self.sel.get() == D[list(D.keys())[self.chosen]]:
 | 
			
		||||
			self.reslabel["text"]="richtig!"
 | 
			
		||||
			self.reslabel["fg"]="green"
 | 
			
		||||
			self.cntCorr+=1
 | 
			
		||||
			self.pointslabel["text"] = str(self.cntCorr) + " von " + str(self.cntCorr+self.cntWrong) + " richtig."
 | 
			
		||||
 | 
			
		||||
		else:
 | 
			
		||||
			self.reslabel["text"]="falsch."
 | 
			
		||||
			self.reslabel["fg"]="red"
 | 
			
		||||
			self.cntWrong+=1
 | 
			
		||||
			self.pointslabel["text"] = str(self.cntCorr) + " von " + str(self.cntCorr+self.cntWrong) + " richtig."
 | 
			
		||||
 | 
			
		||||
	def nextq(self):
 | 
			
		||||
		self.btgoon["state"]="disabled"
 | 
			
		||||
		self.btcheck["state"]="normal"
 | 
			
		||||
		for radio in self.radios:
 | 
			
		||||
			radio.deselect()
 | 
			
		||||
		self.chosen=randint(0,len(D)-1)
 | 
			
		||||
		self.namelabel["text"] = "Politiker: " + list(D.keys())[self.chosen]
 | 
			
		||||
		self.reslabel["text"] = ""
 | 
			
		||||
 | 
			
		||||
	def win(self):
 | 
			
		||||
		print("Gewonnen!")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
root = tk.Tk()
 | 
			
		||||
app = Application(master=root)
 | 
			
		||||
app.mainloop()
 | 
			
		||||
		Reference in New Issue
	
	Block a user