riabayonaor commited on
Commit
9a62f20
1 Parent(s): 4ec28b6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -14
app.py CHANGED
@@ -32,13 +32,13 @@ def generar_ecuacion_y_respuestas():
32
 
33
  def manejar_respuesta(ecuacion, respuesta_elegida, respuesta_correcta):
34
  if respuesta_elegida == str(respuesta_correcta):
35
- resultado = "Fantástico, tienes 10 puntos sube de nivel,"
36
  st.session_state.aciertos += 1
37
  else:
38
- resultado = "Incorrecto, sigue practicando,"
39
  st.session_state.errores += 1
40
- resultado += f" escogiste la respuesta: {respuesta_elegida}"
41
- explicacion = chat_with_model(f"explica el problema {ecuacion} y por qué la respuesta {respuesta_elegida} es {'correcta' if respuesta_elegida == str(respuesta_correcta) else 'incorrecta'}")
42
  return resultado + "\n" + explicacion
43
 
44
  # Configuración de la interfaz de Streamlit
@@ -56,22 +56,20 @@ if 'errores' not in st.session_state:
56
  st.sidebar.write(f"Aciertos: {st.session_state.aciertos}")
57
  st.sidebar.write(f"Errores: {st.session_state.errores}")
58
 
59
- if 'ecuacion' not in st.session_state or 'respuestas' not in st.session_state or 'respuesta_correcta' not in st.session_state:
60
- ecuacion, respuestas, respuesta_correcta = generar_ecuacion_y_respuestas()
61
- st.session_state.ecuacion = ecuacion
62
- st.session_state.respuestas = respuestas
63
- st.session_state.respuesta_correcta = respuesta_correcta
64
 
65
  st.write(st.session_state.ecuacion)
66
  respuesta_elegida = st.radio("Elige tu respuesta", [str(respuesta) for respuesta in st.session_state.respuestas])
67
 
 
68
  if st.button("Enviar"):
69
  resultado = manejar_respuesta(st.session_state.ecuacion, respuesta_elegida, st.session_state.respuesta_correcta)
70
  st.write(resultado)
71
 
72
- if st.button("Generar Nuevo Problema"):
73
- ecuacion, respuestas, respuesta_correcta = generar_ecuacion_y_respuestas()
74
- st.session_state.ecuacion = ecuacion
75
- st.session_state.respuestas = respuestas
76
- st.session_state.respuesta_correcta = respuesta_correcta
77
  st.experimental_rerun()
 
 
32
 
33
  def manejar_respuesta(ecuacion, respuesta_elegida, respuesta_correcta):
34
  if respuesta_elegida == str(respuesta_correcta):
35
+ resultado = "Fantástico, tienes 10 puntos sube de nivel."
36
  st.session_state.aciertos += 1
37
  else:
38
+ resultado = "Incorrecto, sigue practicando."
39
  st.session_state.errores += 1
40
+ resultado += f" Escogiste la respuesta: {respuesta_elegida}."
41
+ explicacion = chat_with_model(f"Explica el problema {ecuacion} y por qué la respuesta {respuesta_elegida} es {'correcta' if respuesta_elegida == str(respuesta_correcta) else 'incorrecta'}.")
42
  return resultado + "\n" + explicacion
43
 
44
  # Configuración de la interfaz de Streamlit
 
56
  st.sidebar.write(f"Aciertos: {st.session_state.aciertos}")
57
  st.sidebar.write(f"Errores: {st.session_state.errores}")
58
 
59
+ # Generación o recuperación del problema actual
60
+ if 'ecuacion' not in st.session_state:
61
+ st.session_state.ecuacion, st.session_state.respuestas, st.session_state.respuesta_correcta = generar_ecuacion_y_respuestas()
 
 
62
 
63
  st.write(st.session_state.ecuacion)
64
  respuesta_elegida = st.radio("Elige tu respuesta", [str(respuesta) for respuesta in st.session_state.respuestas])
65
 
66
+ # Botón de envío
67
  if st.button("Enviar"):
68
  resultado = manejar_respuesta(st.session_state.ecuacion, respuesta_elegida, st.session_state.respuesta_correcta)
69
  st.write(resultado)
70
 
71
+ # Botón para generar un nuevo problema, con una clave única
72
+ if st.button("Generar Nuevo Problema", key="generar_nuevo"):
73
+ st.session_state.ecuacion, st.session_state.respuestas, st.session_state.respuesta_correcta = generar_ecuacion_y_respuestas()
 
 
74
  st.experimental_rerun()
75
+