Python - primer prog en python

 
Vista:

primer prog en python

Publicado por Leo (1 intervención) el 06/05/2020 02:59:56
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.
Una ves encontrada una solución se debe pedir por pantalla si desea realizar otro cálculo, en caso que si se debe repetir el proceso y en caso contrario se finaliza el programa.

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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
def info():
    print("""\nTeniendo en cuenta las ecuaciones:\n
    A+B=R1
    A+C=R4
    B+D=R3
    C-D=R2\n""")
    print("Hallar los valores de A, B, C y D.\n")
    return
 
def ingreso_R1():
    dato1=None
    while True:
        try:
            R1 = float(input("\nIngrese el valor de R1: "))
            if R1 < 0 or R1 != int(R1):
                print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R1 = float(input("\nIngrese el valor de R1: "))
            else:
                dato1=R1
                break
        except ValueError:
            print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")
    return
 
def ingreso_R2():
    dato1=None
    while True:
        try:
            R2 = float(input("\nIngrese el valor de R2: "))
            if R2 < 0 or R2 != int(R2):
                print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R2 = float(input("\nIngrese el valor de R2: "))
            else:
                dato1=R2
                break
        except ValueError:
            print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")
    return
 
def ingreso_R3():
    dato1=None
    while True:
        try:
            R3 = float(input("\nIngrese el valor de R3: "))
            if R3 < 0 or R3 != int(R3):
                print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R3 = float(input("\nIngrese el valor de R3: "))
            else:
                dato1=R3
                break
        except ValueError:
            print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")
    return
 
def ingreso_R4():
    dato1=None
    while True:
        try:
            R4 = float(input("\nIngrese el valor de R4: "))
            if R4 < 0 or R4 != int(R4):
                print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
                R4 = float(input("\nIngrese el valor de R4: "))
            else:
                dato1=R4
                break
        except ValueError:
            print("\n¡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("\nA={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("\nDesea realizar otro calculo? [si/no] ")
    return
 
info()
 
while True:
 
    R1 = ingreso_R1()
 
    R2 = ingreso_R2()
 
    R3 = ingreso_R3()
 
    R4 = ingreso_R4()
 
    calculos()
 
    x=input("\nDesea realizar otro calculo? [si/no] ")
    finalizacion(x)
    if x == 'no':
        print("\nPrograma finalizado!")
        break

cuando hago los calculos me da error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

primer prog en python

Publicado por tincopasan (1082 intervenciones) el 06/05/2020 04:41:14
hola:
se supone que:
1
R1 = ingreso_R1()
según eso R1 vale lo devuelto por la función ingreso_R1
bueno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def ingreso_R1():
dato1=None
while True:
try:
R1 = float(input("\nIngrese el valor de R1: "))
    if R1 < 0 or R1 != int(R1):
         print("\n¡Ingrese un numero entero positivo! Inténtelo de nuevo")
         R1 = float(input("\nIngrese el valor de R1: "))
    else:
         dato1=R1
         break
except ValueError:
       print("\n¡Ingresó una letra, debe ingresar un entero positivo! Inténtelo de nuevo")
return

supongamos algo así, muy linda la palabra "retun" , pero...¿qué devuelve?
esa función no devuelve nada!
y se supone que debería retornar el valor de R1
no entiendo la lógica que usas pero como mínimo:
1
return R1

y lo mismo para las otras funciones, no alcanza con solo declarar la función , ésta tiene que dar algún valor.
Revisa la definición de funciones y lo que hacen, entre ello con return.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar