python – Como faço para meu programa diferenciar um valor int e float


Galera…so novo no Python e queria uma ajuda, estou fazendo uma calculadora e usei a função isdigit() para evitar o erro da pessoa colocar um carácter não numerico, porem ela so reconhece números inteiro, queria ajuda para resolver isso(para a calculadora calcular numeros quebrados ) e também queria ajuda//dica para poder encurtar o código.

a = False
b = True
c = True
tipo = input("(-,+,*,/)nqual função vc deseja fazer ? n")

if tipo == "-" or tipo == "+" or tipo == "*" or tipo == "/":
    a = True
else:
    print("caracter invalido!")
    
if a == True:
    primeiro_numero = input("qual o primeiro numero da função ? n")
    
    if not primeiro_numero.isdigit():
        print("Digite apenas numeros")
        b = False
   
    if b == True:
        
        segundo_numero = input("qual o segundo numero da função ? n")
        if not segundo_numero.isdigit():
            print("Digite apenas numeros")
            c = False
            
        if c == True:
            
            if tipo == "+":
                final = int(primeiro_numero) + int(segundo_numero)

            elif tipo == "-":
                final = int(primeiro_numero) - int(segundo_numero)

            elif tipo == "/":
                final = int(primeiro_numero) / int(segundo_numero)

            elif tipo == "*":
                final = int(primeiro_numero) * int(segundo_numero)
    
            print("O resultado é ",final)