옵션 1 : 다음과 같은 else 조건을 사용할 수 있습니다.
def Input_Q_bounds(lower, upper):
delta_x = .1
# since there are 100 iterations
J = np.zeros(101)
for i in range(101):
Q_i = (i * delta_x) + (delta_x/2)
if lower <= Q_i <= upper:
Q = 1
else:
Q = 0
# now fill the matrix
J[i] = (Q + (9.5 * (J[i - 1])))/10.5
J_analytical = Q * (np.exp(upper - 10) + (np.exp(lower - 10))
else:
print(J_analytical)
print(J[100])
if __name__ == "__main__":
Input_Q_bounds(lower, upper)
옵션 2 : 다음 용액은 전역 변수를
J_analytical = -1
J = []
def Input_Q_bounds(lower, upper):
global J
global J_analytical
delta_x = .1
# since there are 100 iterations
J = np.zeros(101)
for i in range(101):
Q_i = (i * delta_x) + (delta_x/2)
if lower <= Q_i <= upper:
Q = 1
else:
Q = 0
# now fill the matrix
J[i] = (Q + (9.5 * (J[i - 1])))/10.5
J_analytical = Q * (np.exp(upper - 10) + (np.exp(lower - 10))
if __name__ == "__main__":
Input_Q_bounds(lower, upper)
print(J[100])
print(J_analytical)
옵션 3을 사용하는 것이다 : 함수의 값을 반환.
def Input_Q_bounds(lower, upper):
delta_x = .1
# since there are 100 iterations
J = np.zeros(101)
for i in range(101):
Q_i = (i * delta_x) + (delta_x/2)
if lower <= Q_i <= upper:
Q = 1
else:
Q = 0
# now fill the matrix
J[i] = (Q + (9.5 * (J[i - 1])))/10.5
J_analytical = Q * (np.exp(upper - 10) + (np.exp(lower - 10))
return J[100], J_analytical
if __name__ == "__main__":
Input_Q_bounds(lower, upper)
어떻게 값은 for 루프에 의존? 첫 번째 인쇄물에 대해 예상 출력을 얻는다면 루프가 필요하지 않습니다. 그냥 i = 0 – TerryA
print 문을 사용하여 if-else 조건을 추가 할 수 있습니다. – monster
루프의 끝에서 최종 값만 인쇄 하시겠습니까? 그렇다면 당신은 그들을 꺼낼 수 있습니다. –