所以我想做一个while循环只是为了计算一些随机函数的积分。问题是,当我通过opción= 1时,它会首先执行if(好)操作,但是当我通过其他数字时,它会失败。显然,因为True = 1和False =0。所以我该如何做while循环直到(1,2,3)直到按下4为止。。。谢谢您
while opcion == True:
if opcion == 1:
print('Vamos a calcular la siguiente integral:')
f = a*x + b
integral = sp.Integral(f, x)
sp.pprint(integral)
print()
print('Que tiene como resultado:')
sp.pprint(sp.integrate(f,x))
print()
print('Introducimos los límites y valores de las'
' constantes para caluclarla')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
while (lim_inf == lim_sup):
print('Los límites no pueden ser iguales !! '
'Vuelve a introducir valores diferentes')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
a = int(input('valor a = '))
b = int(input('valor de b = '))
res = integrate.quad(grad1, lim_inf, lim_sup, args=(a,b))
print()
print('Valor de la integral',res[0])
elif opcion == 2:
print('Vamos a calcular la siguiente integral:')
f = a*x**2 + b*x + c
integral = sp.Integral(f, x)
sp.pprint(integral)
print()
print('Que tiene como resultado:')
sp.pprint(sp.integrate(f,x))
print()
print('Introducimos los límites y valores de las'
' constantes para caluclarla')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
while (lim_inf == lim_sup):
print('Los límites no pueden ser iguales !! '
'Vuelve a introducir valores diferentes')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
a = int(input('valor a = '))
b = int(input('valor de b = '))
res = integrate.quad(grad2, lim_inf, lim_sup, args=(a,b))
print()
print('Valor de la integral',res[0])
elif opcion == 3:
print('Vamos a calcular la siguiente integral:')
f = a*x**3 + b*x**2 + c*x**2 + d
integral = sp.Integral(f, x)
sp.pprint(integral)
print()
print('Que tiene como resultado:')
sp.pprint(sp.integrate(f,x))
print()
print('Introducimos los límites y valores de las'
' constantes para caluclarla')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
while (lim_inf == lim_sup):
print('Los límites no pueden ser iguales !! '
'Vuelve a introducir valores diferentes')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
a = int(input('valor a = '))
b = int(input('valor de b = '))
res = integrate.quad(grad3, lim_inf, lim_sup, args=(a,b))
print()
print('Valor de la integral',res[0])
elif opcion == 4:
break
答案 0 :(得分:0)
您应该将其包装为while true,然后按预期方式引起中断,并且不要在选择权上感到沮丧。使用sys只是将opcion作为脚本的参数传递,这样4会导致它自动中断...否则,如果它刚生成到脚本中...您可以让opcion默认生成1以开始工作
import sys
...
opcion = sys.argv[1]
while True:
if opcion == 1:
print('Vamos a calcular la siguiente integral:')
f = a*x + b
integral = sp.Integral(f, x)
sp.pprint(integral)
print()
print('Que tiene como resultado:')
sp.pprint(sp.integrate(f,x))
print()
print('Introducimos los límites y valores de las'
' constantes para caluclarla')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
while (lim_inf == lim_sup):
print('Los límites no pueden ser iguales !! '
'Vuelve a introducir valores diferentes')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
a = int(input('valor a = '))
b = int(input('valor de b = '))
res = integrate.quad(grad1, lim_inf, lim_sup, args=(a,b))
print()
print('Valor de la integral',res[0])
elif opcion == 2:
print('Vamos a calcular la siguiente integral:')
f = a*x**2 + b*x + c
integral = sp.Integral(f, x)
sp.pprint(integral)
print()
print('Que tiene como resultado:')
sp.pprint(sp.integrate(f,x))
print()
print('Introducimos los límites y valores de las'
' constantes para caluclarla')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
while (lim_inf == lim_sup):
print('Los límites no pueden ser iguales !! '
'Vuelve a introducir valores diferentes')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
a = int(input('valor a = '))
b = int(input('valor de b = '))
res = integrate.quad(grad2, lim_inf, lim_sup, args=(a,b))
print()
print('Valor de la integral',res[0])
elif opcion == 3:
print('Vamos a calcular la siguiente integral:')
f = a*x**3 + b*x**2 + c*x**2 + d
integral = sp.Integral(f, x)
sp.pprint(integral)
print()
print('Que tiene como resultado:')
sp.pprint(sp.integrate(f,x))
print()
print('Introducimos los límites y valores de las'
' constantes para caluclarla')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
while (lim_inf == lim_sup):
print('Los límites no pueden ser iguales !! '
'Vuelve a introducir valores diferentes')
lim_inf = int(input('Límite inferior = '))
lim_sup = int(input('Límite superior = '))
a = int(input('valor a = '))
b = int(input('valor de b = '))
res = integrate.quad(grad3, lim_inf, lim_sup, args=(a,b))
print()
print('Valor de la integral',res[0])
elif opcion == 4:
break