Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Programa en python
#1
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.

  1. def info():
  2.     print("""\nTeniendo en cuenta las ecuaciones:\n
  3.     A+B=R1
  4.     A+C=R4
  5.     B+D=R3
  6.     C-D=R2\n""")
  7.     print("Hallar los valores de A, B, C y D.\n")
  8.     return
  9.  
  10. def ingreso_R1()
  11.     dato1=None   
  12.     while True:
  13.         try:
  14.             R1 = float(input("\nIngrese el valor de R1: "))
  15.             if R1 < 0 or R1 != int(R1):
  16.                 print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
  17.                 R1 = float(input("\nIngrese el valor de R1: "))
  18.             else:
  19.                 dato1=R1
  20.                 break
  21.         except ValueError:
  22.             print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")       
  23.     return
  24.  
  25. def ingreso_R2()
  26.     dato1=None   
  27.     while True:
  28.         try:
  29.             R2 = float(input("\nIngrese el valor de R2: "))
  30.             if R2 < 0 or R2 != int(R2):
  31.                 print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
  32.                 R2 = float(input("\nIngrese el valor de R2: "))
  33.             else:
  34.                 dato1=R2
  35.                 break
  36.         except ValueError:
  37.             print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")         
  38.     return
  39.  
  40. def ingreso_R3()
  41.     dato1=None   
  42.     while True:
  43.         try:
  44.             R3 = float(input("\nIngrese el valor de R3: "))
  45.             if R3 < 0 or R3 != int(R3):
  46.                 print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
  47.                 R3 = float(input("\nIngrese el valor de R3: "))
  48.             else:
  49.                 dato1=R3
  50.                 break
  51.         except ValueError:
  52.             print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")         
  53.     return
  54.  
  55. def ingreso_R4()
  56.     dato1=None   
  57.     while True:
  58.         try:
  59.             R4 = float(input("\nIngrese el valor de R4: "))
  60.             if R4 < 0 or R4 != int(R4):
  61.                 print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
  62.                 R4 = float(input("\nIngrese el valor de R4: "))
  63.             else:
  64.                 dato1=R4
  65.                 break
  66.         except ValueError:
  67.             print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")         
  68.     return
  69.  
  70. def calculos():
  71.     suma1 = R3+R2
  72.     suma2 = R4-R1
  73.     C = float((suma1+suma2)/2)
  74.     A = float(R4-C)
  75.     B = float(R1-A)
  76.     D = float(R3-B)
  77.     print("\nA={0:.2f}" .format(A))
  78.     print("B={0:.2f}" .format(B))
  79.     print("C={0:.2f}" .format( C))
  80.     print("D={0:.2f}" .format(D))
  81.     return
  82.  
  83.  
  84. def finalizacion(x):
  85.     while x != 'si' and x != 'no':
  86.         x=input("\nDesea realizar otro calculo? [si/no] ")           
  87.     return
  88.  
  89. info()
  90.  
  91. while True:
  92.  
  93.     R1 = ingreso_R1()
  94.      
  95.     R2 = ingreso_R2()
  96.    
  97.     R3 = ingreso_R3()
  98.    
  99.     R4 = ingreso_R4()     
  100.    
  101.     calculos()
  102.  
  103.     x=input("\nDesea realizar otro calculo? [si/no] ")
  104.     finalizacion(x)
  105.     if x == 'no':
  106.         print("\nPrograma finalizado!")   
  107.         break
Responder
#2
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
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)