Foros Python

Versión completa: Programa en python
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas noches, alguien me podra ayudar con mi codigo?

esta es la consigna del programa:

Desarrolle una rutina en python que permita determinar los valores indicados de A,B,C,D
Los Valores de R1,R2,R3,R4 son números enteros positivos y deben ser ingresados por el usuario
Los posibles valores de solución pueden tomar valores de la forma: n.dd (un parte entera y hasta dos decimales)
En caso de no encontrar una solución exacta se debe mostrar la mejor solución encontrada para los valores A,B,C,D
Se debe mostrar la cantidad de iteraciones o pasos realizados hasta lograr el resultado deseado, por pantalla.

Esto es lo q logre pero la funcion de los calculos me da error.

Código:
def info():
    print("""
Teniendo en cuenta las ecuaciones:

    A+B=R1
    A+C=R4
    B+D=R3
    C-D=R2
""")
    print("Hallar los valores de A, B, C y D.
")
    return

def ingreso_R1(): 
    dato1=None   
    while True:
        try:
            R1 = float(input("
Ingrese el valor de R1: "))
            if R1 < 0 or R1 != int(R1):
                print("
¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R1 = float(input("
Ingrese el valor de R1: "))
            else:
                dato1=R1
                break
        except ValueError:
            print("
¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")       
    return

def ingreso_R2(): 
    dato1=None   
    while True:
        try:
            R2 = float(input("
Ingrese el valor de R2: "))
            if R2 < 0 or R2 != int(R2):
                print("
¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R2 = float(input("
Ingrese el valor de R2: "))
            else:
                dato1=R2
                break
        except ValueError:
            print("
¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")         
    return

def ingreso_R3(): 
    dato1=None   
    while True:
        try:
            R3 = float(input("
Ingrese el valor de R3: "))
            if R3 < 0 or R3 != int(R3):
                print("
¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R3 = float(input("
Ingrese el valor de R3: "))
            else:
                dato1=R3
                break
        except ValueError:
            print("
¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")         
    return

def ingreso_R4(): 
    dato1=None   
    while True:
        try:
            R4 = float(input("
Ingrese el valor de R4: "))
            if R4 < 0 or R4 != int(R4):
                print("
¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R4 = float(input("
Ingrese el valor de R4: "))
            else:
                dato1=R4
                break
        except ValueError:
            print("
¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")         
    return

def calculos():
    suma1 = R3+R2
    suma2 = R4-R1
    C = float((suma1+suma2)/2)
    A = float(R4-C)
    B = float(R1-A)
    D = float(R3-B)
    print("
A={0:.2f}" .format(A))
    print("B={0:.2f}" .format(B))
    print("C={0:.2f}" .format( C))
    print("D={0:.2f}" .format(D))
    return


def finalizacion(x):
    while x != 'si' and x != 'no':
        x=input("
Desea realizar otro calculo? [si/no] ")           
    return

info()

while True:

    R1 = ingreso_R1()
     
    R2 = ingreso_R2()
   
    R3 = ingreso_R3()
   
    R4 = ingreso_R4()     
   
    calculos()

    x=input("
Desea realizar otro calculo? [si/no] ")
    finalizacion(x)
    if x == 'no':
        print("
Programa finalizado!")   
        break
Hola, bienvenido.

En todas tus funciones te está faltando retornar un valor. En ingreso_R1, la última línea debería ser return R1, y lo mismo para el resto.

Saludos