i = float (raw_input("Enter i"))
Pd = int (raw_input("Enter Pd"))
while True:
P1= (i-6.95)/(2*9.68*0.0001)
P2= (i-7.051)/(2*7.378*0.0001)
P3= (i-6.531)/(2*1.04*0.001)
e= Pd-P1-P2-P3
if e<=1 :
F1=9.68*0.0001*P1*P1 + 6.95*P1 + 749.55
F2=7.738*0.0001*P2*P2 + 7.051*P2 + 1285
F3=1.04*0.001*P3*P3 + 6.531*P3 + 1531
F= F1+F2+F3
print 'Total cost F is {0}\n'.format(F)
print P1
print P2
print P3
break
else :
i=i + 0.1(i)
電力需要と発電量を計算するために、このような単純なwhileループを作成しました。電力需要Pd#と増分費用を設定します。各発電機の出力P1、P2、P3を計算できます。反復が必要です。#これは、Pd(P1、P2とP3の合計)が1未満である必要がある場合です。
i=8.5およびpd=2500と入力して実行すると、結果は800.619834711981.973434535、946.634615385になります。これは、この3つの合計が2500ではないため、#事が繰り返されないことを意味します。
誰かが、なぜ反復しないのか、そして私のwhiletrueループの何が悪いのかを教えてもらえますか。