Ich habe eine ähnliche Frage dazu vor gefragt, aber ich kann nie scheinen, um eine Lösung zu erhalten, die richtig (wahrscheinlich bis zu meinem Mangel an Programmierkenntnisse)Cue Card Programm in Python
Ich versuche, funktioniert ein erstellen "Stichwortkarte" -System. Karten zu einem Programm hinzufügen, sie in bestimmten Decks speichern und dann diese Decks ihre Karten ausgeben lassen, wenn sie dazu aufgefordert werden. Ich verwende Tkinter als meine GUI dafür. Soweit ist das mein Code;
from tkinter import *
root = Tk()
question_list = []
topic_list = []
data = defaultdict(list)
x = 5
while x > 0:
question = input("what is your question?")
topic = input("what is the topic of the question?")
if question not in question_list:
question_list.append(question)
if topic not in topic_list:
topic_list.append(topic)
x -=1
def display_deck():
top = Toplevel()
for i in data:
if i == topic:
button2 = Button(top, text=data[i], fg="black")
button2.pack()
for topic, question in zip(topic_list, question_list):
data[topic].append(question)
for y in topic_list:
button = Button(root, text=y, fg="black", command=display_deck)
button.pack()
root.mainloop()
Es fragt den Benutzer 5 Fragen und fügt dann die Taste des „Thema“ in das Stammfenster. Wenn diese Themenschaltfläche angeklickt wird, möchte ich nur die Fragen in diesem Thema anzeigen. Derzeit werden jedoch alle Fragen angezeigt. Ich habe versucht, Wörterbücher zu verwenden, aber das schien nicht zu funktionieren. Jede Hilfe sehr geschätzt. (When I have clicked the maths button this is the Output of the program)
Nach Bearbeiten
denke ich, der Untergang des Wörterbuchs der Zip-Methode ist die Verwendung als nicht jedes Element in der Liste wird gepaart wird, aber ich bin wirklich nicht sicher. Die Ausgabe, wenn ein Wörterbuch mit und auf die Mathematik-Taste here gesehen
direkt Der aktuelle Code keine Mühe macht, die Fragen nach Themen zu trennen. Können Sie zeigen, was Sie mit Wörterbüchern versucht haben, da dies der natürliche Ansatz ist? – Blckknght
@Blckknght Ich habe das Wörterbuch, das ich versuchte, um den Code oben zu verwenden^ – Seb
mit 'wenn Thema nicht in topic_list:' Sie haben 'topic_list' kürzer als' question_list' und dann 'zip (topic_list, question_list)' geben falsche Ergebnisse. Vielleicht fügen Sie die Themenfrage direkt zu "Daten" hinzu. – furas