
Ayuda urgente, ventanas
Publicado por Carlos (1 intervención) el 17/10/2021 17:50:15
Buen día, me gustaría que me apoyaran a que mi código funcione, la ventana que se crea suelta 3 botones, uno de ellos es el correcto, posteriormente sale un mensaje(Presiones el botón correcto o no) con los botones de si y no, al momento de que presione "no" sí se acaba el programa, pero me gustaría que nada más se cierre la ventana, por otro lado, me gustaría que al presionar "sí", la ventana reinicie su función y vuelva a correr con los mismos valores aleatorios.
espero puedan ayudarme, gracias
Aquí mi código:

En esta primera captura, se ve la interfaz del botón

En esta se ve qué sucede cuando se presiona que sí quiere intentar otra vez
espero puedan ayudarme, gracias
Aquí mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import tkinter as tk
import tkinter.font as tkFont
import random as rm
from tkinter import ttk
from tkinter import messagebox
import os
import sys
def boton1():
a=messagebox.askyesno("Vuelve a intentar", "La respuesta fue incorrecta, ¿quieres intentar otro?")
if a== False:
exit()
else:
suma()
def boton2():
a=messagebox.askyesno("Vuelve a intentar", "La respuesta fue incorrecta, ¿quieres intentar otro?")
if a== False:
exit()
else:
suma()
def boton3():
a=messagebox.askyesno("¡Felicidades!", "La respuesta fue correcta, ¿quieres intentar otro?")
if a== False:
exit()
else:
suma()
def suma():
nums=[rm.randint(1,10), rm.randint(1,10), rm.randint(1,10)]
nums2=[rm.randint(1,10), rm.randint(1,10), rm.randint(1,10)]
nums2[2]=nums[2]
while nums2[1]==nums2[0]:
nums2[1]=rm.randint(1,10)
while nums2[1]==nums2[2]:
nums2[1]=rm.randint(1,10)
while nums2[0]==nums2[2]:
nums2[0]=rm.randint(1,10)
v=tk.Tk() #Genera la ventana
v.geometry("550x500") #Define el tamaño de la ventana
v.title("Matemáticas en suma") #Define el título de la ventana
v.configure(background= "dark turquoise") #Define el color de fondo de la ventana
font_e1=tkFont.Font(family="Arial Black", size=25) #Define la fuente con el tamaño
font_e2=tkFont.Font(family="Arial ", size=15)
e1=tk.Label(v,text='''
Bienvenido al juego de
"Suma" en la sección
de matemáticas''', font= font_e1, fg="Black", bg="dark turquoise")
e1.pack(padx=10, pady=10)
e2=tk.Label(v,text="Encuentra el número que falta y seleciona el botón con la opción correcta", font=font_e2, fg="Black", bg="dark turquoise")
e2.pack(padx=10, pady=10)
e3=tk.Label(v,text=f"""
{nums[0]}
+
{nums[1]} + | ? | = {nums[1]+nums[2]}
||
{nums[0]+nums[2]}
""", font=font_e2, fg="Black", bg="dark turquoise")
e3.pack(padx=10, pady=0)
b1=ttk.Button(text=nums2[0], command=boton1)
b1.pack(padx=50, pady= 20, side=tk.LEFT)
b2=ttk.Button(text=nums2[1], command=boton2)
b2.pack(padx=50, pady= 20, side=tk.LEFT)
b3=ttk.Button(text=nums2[2], command=boton3)
b3.pack(padx=50, pady= 20, side=tk.LEFT)
v.mainloop()
#Menú principal
suma()

En esta primera captura, se ve la interfaz del botón

En esta se ve qué sucede cuando se presiona que sí quiere intentar otra vez
Valora esta pregunta


0