Update app.py
Browse files
app.py
CHANGED
|
@@ -93,17 +93,33 @@ questions = [
|
|
| 93 |
# Fonction pour afficher les questions et vérifier les réponses
|
| 94 |
score = 0
|
| 95 |
random.shuffle(questions) # Mélange les questions pour plus de variété
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
for q in questions:
|
| 97 |
st.subheader(q["question"])
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
st.success("Bonne réponse !")
|
| 102 |
-
score += 1
|
| 103 |
else:
|
| 104 |
st.error("Mauvaise réponse.")
|
| 105 |
st.write("Réponse correcte : ", q["answer"])
|
| 106 |
-
|
|
|
|
| 107 |
|
| 108 |
# Affichage du score final
|
| 109 |
st.write("## Votre score : ", score, "/", len(questions))
|
|
@@ -114,4 +130,3 @@ elif score > len(questions) / 2:
|
|
| 114 |
st.info("Pas mal, mais vous pouvez encore vous améliorer !")
|
| 115 |
else:
|
| 116 |
st.warning("Il semble que vous ayez besoin de réviser encore un peu.")
|
| 117 |
-
|
|
|
|
| 93 |
# Fonction pour afficher les questions et vérifier les réponses
|
| 94 |
score = 0
|
| 95 |
random.shuffle(questions) # Mélange les questions pour plus de variété
|
| 96 |
+
|
| 97 |
+
# Utilisation d'une session state pour maintenir l'état des réponses
|
| 98 |
+
if 'responses' not in st.session_state:
|
| 99 |
+
st.session_state.responses = {}
|
| 100 |
+
|
| 101 |
for q in questions:
|
| 102 |
st.subheader(q["question"])
|
| 103 |
+
if q["question"] not in st.session_state.responses:
|
| 104 |
+
answer = st.radio("", q["options"], key=q["question"])
|
| 105 |
+
if st.button("Valider", key=f"{q['question']}_btn"):
|
| 106 |
+
if answer == q["answer"]:
|
| 107 |
+
st.session_state.responses[q["question"]] = "correct"
|
| 108 |
+
score += 1
|
| 109 |
+
st.success("Bonne réponse !")
|
| 110 |
+
else:
|
| 111 |
+
st.session_state.responses[q["question"]] = "incorrect"
|
| 112 |
+
st.error("Mauvaise réponse.")
|
| 113 |
+
st.write("Réponse correcte : ", q["answer"])
|
| 114 |
+
else:
|
| 115 |
+
# Afficher les réponses précédentes
|
| 116 |
+
if st.session_state.responses[q["question"]] == "correct":
|
| 117 |
st.success("Bonne réponse !")
|
|
|
|
| 118 |
else:
|
| 119 |
st.error("Mauvaise réponse.")
|
| 120 |
st.write("Réponse correcte : ", q["answer"])
|
| 121 |
+
|
| 122 |
+
st.write("---")
|
| 123 |
|
| 124 |
# Affichage du score final
|
| 125 |
st.write("## Votre score : ", score, "/", len(questions))
|
|
|
|
| 130 |
st.info("Pas mal, mais vous pouvez encore vous améliorer !")
|
| 131 |
else:
|
| 132 |
st.warning("Il semble que vous ayez besoin de réviser encore un peu.")
|
|
|