diff --git a/.gitignore b/.gitignore index 4e7c99b..f289448 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -quiz/__pycache__/ +quiz/__pycache__ diff --git a/quiz/.env b/quiz/.env new file mode 100644 index 0000000..f58c968 --- /dev/null +++ b/quiz/.env @@ -0,0 +1,3 @@ +FLASK_APP=quiz.py +FLASK_ENV=development +FLASK_RUN_PORT=5003 diff --git a/quiz/csv-read.py b/quiz/csv-read.py new file mode 100644 index 0000000..c5c38b2 --- /dev/null +++ b/quiz/csv-read.py @@ -0,0 +1,47 @@ +import csv # CSV handling +import random +import os + +#file = "C:/Users/bruno/Documents/__CODING__/0-git (Group)/robotik-wise23/robo/fragen1.csv" +#file = os.getcwd() + "fragen1.csv" +#file = os.path.join(os.getcwd(), "robo", "fragen1.csv") # Windows Entwicklung +file = os.path.join(os.getcwd(), "fragen1.csv") # Raspi + +#with open(file, newline="", encoding="utf-8") as csvfile: # +with open(file, newline="", encoding="cp1252") as csvfile: # Code wird als Excel Windows-1252 Input CSV gelesen + database = csv.reader(csvfile, delimiter=";") # Validating the "csvfile" into "database" with the delimiter "," (Comma Seperated Values) + + q_a = [] # Empty list for all questions and answers + + for row in database: # alle Zeilen in der Datenbank durchlaufen + index = int(row[0]) # Laufende Nummer + question = str(row[1]) # Frage (ist der erste Teil) + answer = str(row[2]) # Antwort (3. Spalte in der CSV Datenbank) + q_a.append({"index": index,"question": question, "answer": answer}) # Eine Liste bauen + +# for i in q_a: # For every element in "q_a" +# print("[" + str(i["index"]) + "] Frage: " + i["question"] + "\n[" + str(i["index"]) + "] Antwort: " + i["answer"] + "\n") # Print "question", "answer" and "index" for current element + + +while True: + # Zufällig eine Frage auswählen + zufallige_frage = random.choice(q_a) + ID = zufallige_frage["index"] + frage = zufallige_frage["question"] + antwort = zufallige_frage["answer"] + + #print(f"wir sind in {os.getcwd()}") + + # Frage und Antwort ausgeben + print(f"Frage:\t({ID})\t{frage}") +# print(f"Antwort:\t{antwort}") + + # Auf Eingabe warten + # input("Drücke Enter für die nächste Frage...") + DieAntwort= input(" > ") + if ( DieAntwort == antwort ): + print ("Sehr gut!") + else : + print ("Nein! Nochmal. (Setzen, 6) ") + + diff --git a/quiz/quiz-run.conf b/quiz/quiz-run.conf new file mode 120000 index 0000000..2eea525 --- /dev/null +++ b/quiz/quiz-run.conf @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/quiz/quiz.html b/quiz/quiz.html new file mode 100644 index 0000000..b785fbf --- /dev/null +++ b/quiz/quiz.html @@ -0,0 +1,18 @@ + + + + Quiz + + +
+ {% for question in q_a %} +

{{ question.question }}

+ +

{{ question.answer }}

+ {% endfor %} + +
+ + diff --git a/quiz/quiz.py b/quiz/quiz.py new file mode 100644 index 0000000..8e3e244 --- /dev/null +++ b/quiz/quiz.py @@ -0,0 +1,39 @@ +import os +from flask import Flask, render_template +from dotenv import load_dotenv +import csv # CSV handling +import random + + +load_dotenv() # Laden Sie die Umgebungsvariablen aus der .env-Datei + +def load_database(): + file = os.path.join(os.path.expanduser("~"), "Austausch", "fragen1.csv") + + #with open(file, newline="", encoding="utf-8") as csvfile: # + with open(file, newline="", encoding="cp1252") as csvfile: # Code wird als Excel Windows-1252 Input CSV gelesen + database = csv.reader(csvfile, delimiter=";") # Validating the "csvfile" into "database" with the delimiter "," (Comma Seperated Values) + + q_a = [] # Empty list for all questions and answers + + for row in database: # alle Zeilen in der Datenbank durchlaufen + index = int(row[0]) # Laufende Nummer + question = str(row[1]) # Frage (ist der erste Teil) + answer = str(row[2]) # Antwort (3. Spalte in der CSV Datenbank) + q_a.append({"index": index,"question": question, "answer": answer}) # Eine Liste bauen + +app = Flask(__name__) + +@app.route('/') +#def home(): +# return 'Willkommen beim Quiz!' +# +def quiz(): + # Hier können Sie den HTML-Code für Ihr Quiz-Formular rendern + return render_template('quiz.html') + +if __name__ == '__main__': +# app.run(debug=True) + load_database() + port = int(os.getenv("FLASK_RUN_PORT", 5000)) + app.run(debug=True,host="0.0.0.0", port=port) diff --git a/robo/csv-read.py b/robo/csv-read.py index 61d8ea5..c5c38b2 100644 --- a/robo/csv-read.py +++ b/robo/csv-read.py @@ -30,12 +30,18 @@ while True: frage = zufallige_frage["question"] antwort = zufallige_frage["answer"] - #print(f"wir sindin {os.getcwd()}") + #print(f"wir sind in {os.getcwd()}") # Frage und Antwort ausgeben print(f"Frage:\t({ID})\t{frage}") - print(f"Antwort:\t{antwort}") +# print(f"Antwort:\t{antwort}") # Auf Eingabe warten - input("Drücke Enter für die nächste Frage...") + # input("Drücke Enter für die nächste Frage...") + DieAntwort= input(" > ") + if ( DieAntwort == antwort ): + print ("Sehr gut!") + else : + print ("Nein! Nochmal. (Setzen, 6) ") + diff --git a/robo/fragen1.csv b/robo/fragen1.csv index f990724..a058799 100644 --- a/robo/fragen1.csv +++ b/robo/fragen1.csv @@ -7,4 +7,5 @@ 7;Was ist die Hauptfarbe des Himmels bei Tag?;Blau 8;Welches Jahr wurde die Unabhängigkeit der USA erklärt?;1776 9;Welches ist das größte Säugetier der Welt?;Blauwal -10;Wie viele Sekunden hat eine Minute?;60 \ No newline at end of file +10;Wie viele Sekunden hat eine Minute?;60 +11;Was sind m&ms ?;Die Belohnung