gente pues si me pueden ayudar con este programa, el tema es que es con interfaz grafica, y en la parte del principal() tengo una variable llamada Pc y otra llamada Z, ambas son muy importantes para los cálculos que se realizan mas adelante, el caso es que estas variables agarran los datos de las interfaces de "numero de dientes" y la sección de paso circular, para la variable pc, si permite agarrar el dato ingresado, sin embargo Z no lo agarra y presenta el error !=Entry. para ver si alguien me colabora.
en caso de que me ayuden, corran el programa y en las interfaces coloquen como valores 1 en cada ventana, cuando se abra la de paso circular o modulo, seleccionen paso circular, y de igual modo ingresan un 1.
gracias de antemano, estare pendiente.
	
	
	
	
	
en caso de que me ayuden, corran el programa y en las interfaces coloquen como valores 1 en cada ventana, cuando se abra la de paso circular o modulo, seleccionen paso circular, y de igual modo ingresan un 1.
gracias de antemano, estare pendiente.
Código:
from ast import Mod
from tkinter import*
from tkinter import messagebox
import tkinter as tk
import math
from webbrowser import get
pi=math.pi
Dp=0.0
M=0
Pc=0
Z=0.0
De=0.0
S=0.0
W=0.0
Di=0.0
PieDiente=0.0
CabezaDiente=0.0
AlturaDiente=0.0
ModOK=0.0
PcOK=0.0
k=0
NumEngra=0
Paso=""
PasoC=""
Determinante=0
PasoMod=""
PasoPaso=""
Engr=0
def Principal():
   
    Pc=float(entradaPaso.get())
    Z=float(entradaDientes.get())   
    if Pc>0:
        M=Pc/(math.pi)       
        Dp=Z*ModOK
        De=Dp+2*ModOK
        S=(Pc*19)/40
        W=(Pc*21)/40
        Di=Dp-(2*1.25*(M))
        PieDiente=1.250*(M)
        CabezaDiente=M
        AlturaDiente=(2.25*M)
    else:
        Dp=(Z)*(ModOK)
        PcOK=(math.pi)*(ModOK)
        De=(Dp)+2*(ModOK)
        S=((PcOK)*19)/40
        W=((PcOK)*21)/40
        Di=Dp-(2*1.25*(ModOK))
        PieDiente=1.250*(ModOK)
        CabezaDiente=M
        AlturaDiente=(2.25*(ModOK))
    print ("Número de dientes: ", Z)
    print ("Módulo: ", M)
    print ("Paso circular: ", Pc)
    print ("Diametro primitivo: ", Dp)
    print ("Grueso del diente: ", S)
    print ("Hueco del diente: ", W)
    print ("Diámetro interior: ", Di)
    print ("Pie del diente: ", PieDiente)
    print ("Cabeza del diente: ", CabezaDiente)
    print ("Altura del diente: ", AlturaDiente)
#RECORDATORIO AL USUARIO
def Bienvenida ():
    messagebox.showinfo(message="Bienvenido a la calculadora de geometria de engranajes rectos. Recuerde que las unidades de medida introducidas serán coincidentes con los resultados.", title="Información")
Bienvenida()
def pregengranajes():
    global entradaEngranajes
    VentEngr=Tk()
    VentEngr.title("Número de engranajes")
    VentEngr.geometry ("400x200+20+10")
    textoEngr=Label(VentEngr, text = "Introduzca cuantos engranajes desea crear: ").grid(row=0,
                                                column=0, sticky = NW)
                                               
    entradaEngranajes=Entry(VentEngr)
    entradaEngranajes.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
    btnEngr=Button(VentEngr, text="Confirmar", command=VentEngr.destroy)
    btnEngr.place(x=80, y=100)
    VentEngr.columnconfigure(1, weight=1, minsize=75)
    VentEngr.rowconfigure(0, weight=1, minsize=50)
   
    VentEngr.mainloop()
    return(entradaEngranajes)
pregengranajes()
def numdientes():
    global entradaDientes
    VentDien=Tk()
    VentDien.title("Número de dientes")
    VentDien.geometry ("450x200+20+10")
    textoDien=Label(VentDien, text = "Introduzca cuantos dientes desea que el engranaje tenga: ").grid(row=0,
                                                column=0, sticky = NW)
    entradaDientes=Entry(VentDien)
    entradaDientes.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
    btnDien=Button(VentDien, text="Confirmar", command=VentDien.destroy)
    btnDien.place(x=80, y=100)
    VentDien.columnconfigure(1, weight=1, minsize=75)
    VentDien.rowconfigure(0, weight=1, minsize=50)
   
    VentDien.mainloop()
    return entradaDientes
numdientes()
def pasomodulo():
    VentQuest=Tk()
    VentQuest.title("¿Paso o Modulo?")
    VentQuest.geometry ("400x200+20+10")
    textoPasoModu=Label(VentQuest, text = "Por favor indique si desea usar el módulo o el paso para los cálculos").grid(row=0,column=0, sticky = "w")
    btnVentQuestPaso=Button(VentQuest, text="Paso Circular", command=detPasoCircular)
    btnVentQuestPaso.place(x=40, y=100)
    btnVentQuestModulo=Button(VentQuest, text="Módulo", command=detModulo)
    btnVentQuestModulo.place(x=200, y=100)
    VentQuest.mainloop()
def detPasoCircular():
    global VentPaso
    global entradaPaso
    VentPaso=Tk()
    VentPaso.title("Número de dientes")
    VentPaso.geometry ("450x200+20+10")
    textoPaso=Label(VentPaso, text = "Introduzca el valor del paso circular: ").grid(row=0,
                                                        column=0, sticky = NW)
    entradaPaso=Entry(VentPaso)
    entradaPaso.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
    btnPaso=Button(VentPaso, text="Confirmar", command=Principal)
    btnPaso.place(x=80, y=100)
    VentPaso.columnconfigure(1, weight=1, minsize=75)
    VentPaso.rowconfigure(0, weight=1, minsize=50)
    VentPaso.mainloop()
    return entradaPaso
###SI ESCOGE MODULO
def detModulo():
    global entradaModulo
    global VentModulo
    VentModulo=Tk()
    VentModulo.title("Número de dientes")
    VentModulo.geometry ("450x200+20+10")
    textoModulo=Label(VentModulo, text = "Introduzca el valor del módulo: ").grid(row=0,
                                                        column=0, sticky = NW)
                                                       
    entradaModulo=Entry(VentModulo)
    entradaModulo.grid(row=0, column=1,padx=10, pady=10, sticky=NW)
    btnModulo=Button(VentModulo, text="Confirmar", command=Principal)
    btnModulo.place(x=80, y=100)
    VentModulo.columnconfigure(1, weight=1, minsize=75)
    VentModulo.rowconfigure(0, weight=1, minsize=50)
    VentModulo.mainloop()
    return entradaModulo
pasomodulo()
