判断结构

判断结构测试一个条件表达式,然后根据测试结果执行不同的操作。MATLAB和Python支持多种不同形式的判断结构。[大谦MATLAB,dqmatlab点com]

单分支判断结构

【MATLAB】

MATLAB中单分支判断结构如下所示:

code.matlab
if 判断条件
    执行语句;
end

其中判断条件常为关系表达式或逻辑表达式。如果表达式的执行结果为真,就执行if与end语句之间的代码,否则跳过。

【Python】

Python中单分支判断结构的语法格式为:

code.matlab
if 判断条件:执行语句

其中判断条件常常是一个关系表达式或逻辑表达式,条件满足时执行冒号后面的语句。

下面用一个例子演示单分支判断结构。要求运行时给出一个数字,然后用单分支判断结构判断数字是否为1。如果是,则输出“输入的值是1。”。

【MATLAB】

在命令窗口输入:

code.matlab
>> if input('请输入一个数字:')==1
    a='输入的值是1。'
end

回车后提示输入数字,输入数字1。

code.matlab
请输入一个数字:1

回车,输出a的值。

code.matlab
a =
   '输入的值是1。'

【Python】

在Python IDLE Shell窗口输入:

code.python
>>> a=input('请输入一个数字:')

回车后显示:

code.python
请输入一个数字:

输入1,回车,继续输入:

code.python
>>> if(int(a)==1): print('输入的值是1')

显示下面的内容。

code.python
输入的值是1

二分支判断结构

二分支判断结构可以根据判断条件结果的不同改变程序执行的流程,如果判断条件为真,执行指定语句;如果判断条件为假,执行另外的语句。

【MATLAB】

如果if判断结构有两个选项,则使用下面的if/end语句:

code.matlab
if 判断条件
    执行语句…;
else
    执行语句…;
end

判断条件为关系表达式或逻辑表达式,表达式的值为真时执行if语句后面的语句,否则执行else语句后面的语句。

【Python】

Python中语法格式为:

code.python
if 判断条件:
  执行语句…
else:
  执行语句…

下面用一个例子演示二分支判断结构的应用。示例首先要求输入一个数字,然后判断数字是否大于0。数字如果大于0,输出字符串"成功。";否则输出字符串"失败。"。

【MATLAB】

在命令窗口输入:

code.matlab
>> if input('请输入一个数字:')>0
    a='成功。'
else
    a='失败'
end

回车后提示输入数字,输入5,回车,显示下面的结果。

code.matlab
请输入考试分数:5
a =
   '成功。'

【Python】

在Python IDLE Shell窗口输入:

code.python
>>> passed=int(input('请输入一个数字:'))  #提示输入数字

回车后显示:

code.python
请输入一个数字:

输入5,回车,继续输入:

code.python
>>> if(passed>0):  #根据输入的数字进行判断,如果数字大于0
    print('成功。')  #
else:  #如果数字小于等于0
    print('失败。')

连续回车,显示:

code.python
成功。

多分支判断结构

多分支判断结构在二分支判断结构的基础上进行了扩展,在第1个判断条件不满足时给出第2个判断条件,第2个不满足时给出第3个,如此类推。当前条件满足时执行相应的语句,最后都不满足时执行最后的语句。

【MATLAB】

在命令窗口输入:

code.matlab
if 判断条件1
  执行语句1…;
elseif 判断条件2
  执行语句2…;
elseif 判断条件3
  执行语句3…;
else
  执行语句4…;
end

判断条件为关系表达式或逻辑表达式,表达式的值为真时执行对应的语句。

【Python】

Python中多分支判断结构的语法格式为:

code.python
if 判断条件1:
  执行语句1……
elif 判断条件2:
  执行语句2……
elif 判断条件3:
  执行语句3……
…
else:
  执行语句n……

下面的代码用一个多分支判断结构判断给定的成绩分数属于哪个等级。成绩如果大于等于90分,为优秀;否则如果大于等于80分,为良好;否则如果大于等于70分,为中等;否则如果大于等于60分,为及格;以上都不满足为不及格。

【MATLAB】

在命令窗口输入:

code.matlab
>> score=input('请输入考试分数:')

回车后提示输入数字,输入一个表示考试成绩的分数,回车,输出成绩是否及格。

code.matlab
请输入考试分数:85
score =
    85

使用多分支判断结构判断成绩等级。

code.matlab
>> if score>=90
  a='优秀。'
elseif score>=80
  a='良好。'
elseif score>=70
  a='中等。'
elseif score>=60
  a='及格。'
else
  a='不及格。'
end

回车,输出成绩等级。

code.matlab
a =
   '良好。'

【Python】

在Python IDLE Shell窗口输入:

code.python
sc= int(input('请输入一个数字:'))

回车后显示:

code.python
请输入一个数字:

输入85,回车,继续输入:

code.python
if(sc>=90):
    print('优秀')
elif(sc>=80):
    print('良好')
elif(sc>=70):
    print('中等')
elif(sc>=60):
    print('及格')
else:
    print('不及格')

连续回车,显示:

code.python
良好

4.1.4三元操作表达式

三元操作表达式在一行语句中实现一个二分支判断结构。下面在MATLAB和Python中分别实现三元操作表达式的效果。

【MATLAB】

MATLAB 中没有三元操作符,可使用二分支判断结构实现。

【Python】

Python中用下面的语法格式实现三元操作。

code.matlab
b if 判断条件 else a

如果判断条件满足,结果为b,否则结果为a。

下面判断给定的数是否大于等于500。

【MATLAB】

在命令窗口输入:

code.matlab
>> c=input('请输入一个数字:')

回车后提示输入数字,输入300,回车。

code.matlab
请输入一个数字:300
c =
    300

在命令窗口输入:

code.matlab
>> if c>500
  a='>500'
else
  a='<=500'
end

回车,显示:

code.matlab
a =
  '<=500'

【Python】

在Python IDLE Shell窗口输入:

code.python
>>> a= int(input('请输入一个数字:'))

回车后显示:

code.python
请输入一个数字:

输入300,回车,继续输入:

code.python
>>> print('>500' if a>500 else '<=500')

回车,显示:

code.python
<=500