我有以下的,我想在Python重寫Fortran代碼:轉換一個去到從聲明的Fortran 77到Python
2 continue
statement 1
statement 2
do 1 j=1, 10
statement 3
statement 4
1 continue
if a .lt. 5 go to 2
沒有人有在實現這個蟒蛇結構的一個優雅的方式?
我有以下的,我想在Python重寫Fortran代碼:轉換一個去到從聲明的Fortran 77到Python
2 continue
statement 1
statement 2
do 1 j=1, 10
statement 3
statement 4
1 continue
if a .lt. 5 go to 2
沒有人有在實現這個蟒蛇結構的一個優雅的方式?
您可以嘗試使用類似下面的東西:
while True:
statement 1
statement 2
for i in range(1,11):
statement 3
statement 4
if a >= 5:
break
非常感謝!應該由我自己想出... – jroth
轉型可以簡單。在這裏,我假設你可以在開始時改變'a',以便在'最初'條件得到滿足。類似於
a = 0
while a < 5:
statement 1
statement 2
# 'do 1 j=1, 10' will include 10, right? Not so in Python
for i in range(1, 11):
statement 3
statement 4
最初的'a = 0'不被原始代碼片段支持?我不熟悉Python的語法,但是(忽略初始設置),這不是允許零跳循環,而不是原來的? [無可否認,這在你的介紹性句子中已有涵蓋,但是......] – francescalus
它不允許零跳循環。如果a是0,那麼<5!但是,如果一個已經有價值的人在'時'之前,我們可能不應該改變它。如果是這樣,我會去上面的「真正的」解決方案。 –
是的,我的「擔憂」是關於'a = 0'。明確指出,作爲你的一個假設(問題在這方面不明確),也許注意到你的評論意義,會使這種擔憂消失。 – francescalus
對所有Fortran問題使用標籤[tag:fortran],並在必要時添加特定版本。 –
只需使用帶'exit'語句的循環(請參閱您的教科書或手冊)。 –