我已經看過這個Q/A Intent of this Fotran77 code,我幾乎已經將下面的Fortran77樣式代碼轉換爲Python 3.x,除非我懷疑i = i + 1應該放在Python版本。正如我在相關問題的評論中所提到的,我已經完成了一致性測試,結果的偏差爲2.因此,這個問題。將Fortran 77代碼轉換爲Python
i = 0
500 continue
i = i +1
if (i .le. ni) then
if (u(i,j-1) .gt. -9999.) then
r(1,j) = u(i,j-1)
go to 600
else
missing = i
go to 500
end if
end if
600 continue
這裏是我的Python版本
i = 0
while (i <= ni):
i = i+1
if (u[i,j-1] > -9999.0):
r[0,j] = u[i,j-1]
break
else:
missing = i
難道我在放在正確的位置增量計數器?
Fortran從1開始的列表,如果你想要它相當於python –
,它可能是0。最好的是調試/打印這兩個程序的值。這只是一個現在微調的問題。但我的記憶是模糊的。你的fortran程序中是否存在循環? –
是的,但j指數問題可能也存在。我的問題是「你在展示的代碼中是否存在循環?」因爲AFAIR的一個循環是'我在1,5'中... ... python版本有一個循環,Fortran代碼似乎沒有循環。 –