String Abgleich mit Zufallsgenerator in tkinter
Verfasst: Freitag 11. Mai 2018, 18:14
Hallo,
teste mich zurzeit als Python Neuling in tkinter. ich habe das Ziel eine Art Rate Spiel zu schreiben, bei dem man Filmzitate dem richtigen Film zuordnen muss. Als normales Python Skript hab ich das alles auch schon geschafft, nur in der tkinter Entwicklung scheiterts noch... Hier mal der Code den ich haben möchte:
Was hier nicht stimmt? Also wenn da steht "Schreibe Test" soll er darauf warten dass der User Test reinschreibt, dann soll er mit richtig antworten. Aber: es klappt nicht wirklich :K ich kann das Problem auch nicht ganz erklären, mal sagt er Test wäre falsch, mal sagt er Test wäre bei allem richtig, egal was da steht... Jemand vllt Zeit und Lust sich ne Lösung für nen verzweifelten Python Programmierer auszudenken?
Hier wäre nochmal der Code als normales Python Skript ohne tkinter, der ja bereits funktioniert:
Wäre echt toll wenn jemand die Lösung kennt
teste mich zurzeit als Python Neuling in tkinter. ich habe das Ziel eine Art Rate Spiel zu schreiben, bei dem man Filmzitate dem richtigen Film zuordnen muss. Als normales Python Skript hab ich das alles auch schon geschafft, nur in der tkinter Entwicklung scheiterts noch... Hier mal der Code den ich haben möchte:
Code: Alles auswählen
S1 = "Schreibe Test"
S2 = "Falsch!"
S3 = "Immer noch falsch!"
from tkinter import *
from tkinter import messagebox
def Start():
import random
testing = [S1, S2, S3]
Zufall = random.choice(testing)
label1.config(text=Zufall)
label1.grid(row = 0, column = 0)
def String1():
import random
testing = [S1, S2, S3]
Zufall = random.choice(testing)
label1.config(text=Zufall)
label1.grid(row = 0, column = 0)
def Überprüfen():
string1 = eingabefeld.get()
if S1 in Zufall:
if "Test" in string1:
f2 = Tk()
f2.title("Richtig!")
label2 = Label(f2, text="Richtig!")
exit_button2 = Button(f2, text="Schließen", command=f2.destroy)
label2.grid(row = 0, column = 0)
exit_button2.grid(row = 1, column = 0)
else:
f2 = Tk()
f2.title("Falsch!")
label2 = Label(f2, text="Falsch!")
exit_button2 = Button(f2, text="Schließen", command=f2.destroy)
label2.grid(row = 0, column = 0)
exit_button2.grid(row = 1, column = 0)
fenster = Tk()
fenster.title("Strings Abgleich")
#Start Label
label1 = Label(fenster, text="Start drücken")
#Hier Eingabe machen
eingabefeld = Entry(fenster, bd=5, width=40)
start_button = Button(fenster, text="Start", command=String1)
test_button = Button(fenster, text="Überprüfen", command=Überprüfen)
exit_button = Button(fenster, text="Beenden", command=fenster.destroy)
#Hinzufügen
label1.grid(row = 0, column = 0)
start_button.grid(row = 2, column = 0)
eingabefeld.grid(row = 0, column = 1)
test_button.grid(row = 1, column = 0)
exit_button.grid(row = 1, column = 1)
mainloop()
Hier wäre nochmal der Code als normales Python Skript ohne tkinter, der ja bereits funktioniert:
Code: Alles auswählen
#Film Zitate
fzhdr = "Du kannst nicht vorbei!"
fzhdr2 = "Ein Ring, sie zu knechten..."
fzpre = "Wenn es blutet, können wir es töten."
fzpre2 = "Du bist so abgrundtief hässlich..."
fzses = "Ich sehe tote Menschen"
fzsl1245 = "Jippi ya yeay, Schweinebacke!"
fzte1 ="Ich komme wieder!"
fztea = "Komm mit mir wenn du leben willst!"
fzte2 = "Hasta la Vista, Baby"
fzjb = "Mein Name ist Bond. James Bond."
fzbnt = "Ich bin Batman!"
fzb2 = "Warum so ernst?"
fzbmk = "Hast du schonmal mit dem Teufel im Mondschein getanzt?"
fzap = "Wie heißer Apfelkuchen..."
fzmps = "One batch. Two batch. Penny and dime. Hier komme ich."
fzsw5 = "Ich bin dein Vater"
print("Willkommen beim Film Zitate raten! Hier müssen sie den Zitaten den passenden Film zuordnen!")
print("Bitte beachten sie, dass dieses Modul noch in der Entwicklung ist.")
print("Ein Punkte-System ist noch in der Entwicklung")
Start = str(input("Bereit? [Ja/Nein] "))
p = 0
while Start:
if "Ja" in Start:
import random
fz = [fzhdr, fzhdr2, fzpre, fzpre2, fzses, fzsl1245, fzte1]
Zitat = random.choice(fz)
print(Zitat)
if fzhdr in Zitat:
Welcher = str(input("Welcher Film? "))
if "Herr der Ringe" in Welcher or "Herr der RInge" in Welcher:
print("Richtig!")
p = p + 10
print(p)
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktzahl: ", p)
p = 0
Start = str(input("Bereit? "))
elif fzhdr2 in Zitat:
Welcher = str(input("Welcher Film? "))
if "Herr der Ringe" in Welcher:
print("Richtig!")
p = p + 10
print(p)
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktzahl: ", p)
p = 0
Start = str(input("Bereit? "))
elif fzpre in Zitat:
Welcher = str(input("Welcher Film? "))
if "Predator" in Welcher:
print("Richtig!")
p = p + 10
print(p)
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktezahl: ", p)
p = 0
Start = str(input("Bereit? "))
elif fzpre2 in Zitat:
Welcher = str(input("Welcher Film? "))
if "Predator" in Welcher:
print("Richtig!")
p = p + 10
print(p, "Punkte")
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktezahl: ", p)
p = 0
Start = str(input("Nochmal? "))
elif fzses in Zitat:
Welcher = str(input("Welcher Film? "))
if "Sechster Sinn" in Welcher or "Sixt sense" in Welcher:
print("Richtig!")
p = p + 10
print(p, "Punkte")
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktezahl: ", p)
p = 0
Start = str(input("Nochmal? "))
elif fzsl1245 in Zitat:
Welcher = str(input("Welcher Film? "))
if "Stirb langsam" in Welcher or "Die Hard" in Welcher or "Stirbt Langsam" in Welcher:
print("Richtig!")
p = p + 10
print(p, "Punkte")
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktezahl: ", p)
p = 0
Start = str(input("Nochmal? "))
elif fzte1 in Zitat:
Welcher = str(input("Welcher Film? "))
if "Terminator" in Welcher:
print("Richtig!")
p = p + 10
print(p, "Punkte")
Start = str(input("Bereit? "))
else:
print("Leider falsch!")
print("Erreichte Punktzahl: ", p)
p = 0
Start = str(input("Nochmal? "))
elif "Punkte" in Start:
print("Ihre aktuelle Punktzahl: ", p)
Start = str(input("Bereit? "))
elif "Nein" in Start:
print("Ok!")
Start = str(input("Bereit? "))
elif "Ende" in Start:
print("Ok, bis zum nächsten mal!")
p = 0
Eingabe = str(input("Was wollen sie jetzt machen? "))
break
else:
print("Ich verstehe ihre Eingabe nicht!")
Start = str(input("Bereit? "))
Wäre echt toll wenn jemand die Lösung kennt