});

Comparison of “If” & “While” among Fortran, Matlab, Python

Fortran、Matlab、Python中的if判断语句和while循环语句的对比

前言 Intro

一次课程设计要求将一个fortran语言编写的截面分析程序(切片法,条带法)用其他语言改写,过程中涉及了fortran、matlab代码的阅读理解以及python的编写。其中尤其判断语句和循环语句的嵌套关系的转写尤为复杂,在此记录下心得感悟。

示例代码

先来一段示例代码

If 判断语句

Fortran和Matlab的判断语句都带有end if,且if (和else) 后无需加上“:”,if判断语句的结尾用end if来确定。而python的if(和else)后必须加上“:”,且仅通过缩进来判断if语句的内容范围。

While循环语句

严格来说,fortran中的循环语句应该不可以称为while循环语句,但这里为了方便权且这么称呼,fortran用的是CONTINUE+GOTO,其功能和matlab、python中的while+if…break应该是相似的。

其他

还有些小的不同点也随手记录下

例如matlab中在list应当就是数组了,在数组末尾添加一个新的元素的命令是

在python中,自带的list其实是列表,不仅可以存放数字,也可以存放其他的数据类型。其对应的添加新元素命令为

而且,用range()函数生成的生成的是生成器,不可直接用上述方法添加新的元素哦。python中对应的专用数组,应该是Numpy库中的nd.array数据类型,也是这一原因,python中用matplotlib成图比较稳妥的方法,是用numpy先把list转成nd.array再生成图片。nd.array中添加新元素的命令为

对于A_arr,此时的append是作为numpy库的一个独立函数被调用,而不是作为实例化后的list A的内置函数