2016-03-02 79 views
0

我有以下的,我想在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 

沒有人有在實現這個蟒蛇結構的一個優雅的方式?

+0

對所有Fortran問題使用標籤[tag:fortran],並在必要時添加特定版本。 –

+1

只需使用帶'exit'語句的循環(請參閱您的教科書或手冊)。 –

回答

1

您可以嘗試使用類似下面的東西:

while True: 
    statement 1 
    statement 2 
    for i in range(1,11): 
    statement 3 
    statement 4 
    if a >= 5: 
    break 
+0

非常感謝!應該由我自己想出... – jroth

0

轉型可以簡單。在這裏,我假設你可以在開始時改變'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 
+0

最初的'a = 0'不被原始代碼片段支持?我不熟悉Python的語法,但是(忽略初始設置),這不是允許零跳循環,而不是原來的? [無可否認,這在你的介紹性句子中已有涵蓋,但是......] – francescalus

+1

它不允許零跳循環。如果a是0,那麼<5!但是,如果一個已經有價值的人在'時'之前,我們可能不應該改變它。如果是這樣,我會去上面的「真正的」解決方案。 –

+0

是的,我的「擔憂」是關於'a = 0'。明確指出,作爲你的一個假設(問題在這方面不明確),也許注意到你的評論意義,會使這種擔憂消失。 – francescalus