import os from flask import Flask, redirect, render_template, request, session import csv # CSV handling import random app = Flask(__name__) def load_database(): file = os.path.join(os.path.expanduser("~"), "Robotik-Ablage", "fragen2.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=";") 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 return q_a def FahreMotor(): return True fragen_liste = load_database() random.shuffle(fragen_liste) current_index = 0 correct_sum = 0 last_correct = None max_correct_sum = 5 debugtxt="" alerttxt="" successtxt="" won=False @app.route('/') def quiz(): return render_template('quiz.html', frage=fragen_liste[current_index], last_correct=last_correct,debugtxt=debugtxt, correct_sum=correct_sum, max_correct_sum = max_correct_sum, alerttxt=alerttxt, successtxt=successtxt, won=won) @app.route('/submit_quiz', methods=['POST']) def submit_quiz(): global current_index global fragen_liste global debugtxt, alerttxt, successtxt global correct_sum global won won=False # Überprüfen Sie die Antwort und aktualisieren Sie current_index user_answer = request.form.get('answer') correct_answer = fragen_liste[current_index]['answer'] if user_answer == correct_answer: last_correct = True correct_sum += 1 # debugtxt = correct_answer + " ist richtig! passt zu deiner Angabe: " + user_answer successtxt = correct_answer + " ist richtig! passt zu deiner Angabe: " + user_answer alerttxt = "" elif user_answer == "42": # EASTEREGG!!! # last_correct = True correct_sum = 5 successtxt = "Korrekt! Die Antwort auf alle Fragen ist 42." alerttxt = "" else: last_correct = False alerttxt = "falsch: Richtig wäre " +correct_answer + " / und nicht: " + user_answer successtxt = "" correct_sum = 0 current_index += 1 # Überprüfen, ob wir alle Fragen beantwortet haben if current_index >= len(fragen_liste): fragen_liste = load_database() random.shuffle(fragen_liste) current_index=0 if correct_sum >= 5: fragen_liste = load_database() random.shuffle(fragen_liste) current_index=0 successtxt += "


Gewonnen! - Gut gemacht!
Guten Appetit!" # print ("gewonnen! - Fahre 10 Sek!") FahreMotor correct_sum =0 won = True return redirect('/')