У меня есть этот код, который состоит из пяти вложенных циклов, в каждом из которых по 100 итераций, и он все еще не завершился через 5 часов. Я новичок в Python, поэтому я просто написал самый простой код.
Может кто-нибудь сказать, как я могу уменьшить время выполнения в Python по крайней мере до 10 секунд?
def func(c1, a2, b2, c2, a3):
val = (((c1+c2-a2+10-a3)/2) - ((3/2)*((((c1-a2)*(c1-a2))/(c1+b2-a2)) + (((c2-a3)*(c2-a3))/(c2+10-b2-a3)))))
print("Value of function: {}".format(val))
return val
for c1 in np.arange(0,10,0.1):
print("in c1 loop")
for a2 in np.arange(0,10,0.1):
print("in a2 loop")
for b2 in np.arange(0,10,0.1):
print("in b2 loop")
for c2 in np.arange(0,10,0.1):
print("in c2 loop")
for a3 in np.arange(0,10,0.1):
print("in a3 loop")
iter = iter + 1
print("Iteration: {}".format(iter))
if (a2<c1 and a3<c2 and b2<c2 and a2<b2 and a3>c1):
print("in condition")
val = func(c1, a2, b2, c2, a3)
if val == 0:
count = count + 1
print("Success")
induV = [c1, a2, b2, c2, a3, val]
valIsZero.append(induV)
print(count)
print(valIsZero)