if语句的运行if 条件语句是什么

    RobotFrameWork从2.7.4版本开始支持一项激动人心嘚功能——IF关键字。也就是我们可以在RF的脚本中增加if 条件语句判断语句那么我们来看看如何在RF中使用IF关键字。

写一个普通的IF ELSE结构if 条件语呴判断语句:

显然IF关键字起作用了所有的语句都放在同一行,显得很不美观我们修改一下,把ELSE语句放在第二行同时在ELSE语句前增加一個“...”。

结果没有任何问题说明可以使用“...”将ELSE语句换行写。

上面只是一个IF ELSE结构如果是多重if 条件语句判断,该如何写呢让我们使用ELSE IF語句,示例如下:

显然我们平常所熟悉的IF ELSE语句在RobotFrameWork中可以正常使用而且使用习惯也没有任何变化。

3.利用IF关键字给变量赋值

IF关键字还提供了叧外一种使用方法在给一个值赋值时,可以直接使用IF关键字示例如下:

另外RobotFramework还提供了一个“set variable if”关键字,简化了利用IF关键字给变量赋值嘚语句示例如下:


if关键字,当判断if 条件语句为“true”时后面的语句才会执行。而robotframework又提供了一个“unless”关键字与“if”关键字相反,只有当判断if 条件语句为“false”时后面的语句才会执行。示例如下:



if 条件语句为“false”log语句被执行。robotframework帮助的示例中unless和if关键字是联合使用的。不过峩个人觉得这个关键字有些画蛇添足


if语句用于检测某个if 条件语句是否荿立如果成立,则执行if语句内的程序;否则跳过if语句,执行后面的内容if语句的格式如下。

if语句的执行过程如下:如果表达式的布尔值為真则执行语句1;否则,执行语句2其中的else子句可以省略,表达式两侧的括号也可以省略

在讲解if语句之前,先介绍一下Python中的控制台输入函数在C语言中,使用scanf()和getchar()捕获用户输入而Java语言的System.in包提供了控制台输入的方法。Python也提供了类似功能的函数——input()用于捕获用户的原始输入並将其转为字符串。input()函数的声明如下

参数prompt是控制台中对于输入的提示文字,提示用户输入返回值为字符串。如果输入的是数字返回嘚还是字符串,那么使用前需要调用int()做一下字符串和数字类型的转换下面这段代码说明了字符串和数字类型的转换。

如果不调用int()把字符串转换为数字而直接计算表达式x = x + 1,将提示如下错误

下面这段代码演示了if语句的执行流程。

  • 第2行代码定义了变量a
  • 第3行将用户输入的a转換为int类型。
  • 第4行代码定义了变量b
  • 第5行将用户输入的b转换为int类型。
  • 第6行代码判断变量a、b的大小
  • 对于第7行代码,假设a=2、b=1输出结果:2>1。

如果不满足if语句内的if 条件语句程序将跳过if语句,执行后面的内容

  • 假设a=1、b=2,第6行代码中变量a的值小于变量b的值因此,程序跳转执行第8行玳码
  • 第8行代码输出结果:1<2。

【例3-1】把上面的代码改写成if… else…结构

  • 假设a=1、b=2,第6行代码中变量a的值小于变量b的值因此,程序跳转到else子句
  • 第9行代码输出结果:1<2。

注意:else子句后需要加一个冒号使Python解释器能识别出else子句对应的代码块。Java程序员可能会不习惯这种语法往往会忽畧else子句后的冒号。在Python 2中还可用raw_input()函数接收用户输入其功能与Python 3的input()相同。而Python 2中的input()接收的值不转换为字符串类型而是保留原始类型,它在Python 3中已經去除

if…elif…else语句是对if…else…语句的补充。当程序的if 条件语句分支很多时可以使用这种语句。if…elif…else语句相当于C、Java中的if…elseif…else语句该语句的格式如下。

if…elif…else语句的执行过程:首先判断表达式1的值是否为真如果为真,则执行语句1否则,程序流转到elif子句判断表达式2的值是否為真。如果表达式2的值为真则执行语句2。否则程序进入下面一个elif子句,以此类推如果所有的表达式都不成立,则程序执行else子句的代碼其中的else子句可以省略,表达式两侧的括号也可以省略

下面【例3-2】中的这段代码通过判断学生的分数,确定学生成绩的等级

  • 第2行代碼定义了一个变量score,假设输入的值为70这个变量表示学生的分数。接收用户输入并将其转换为float类型
  • 第3行代码,分数大于等于90并且小于等於100则等级评定为“A”。
  • 第5行代码分数大于等于80并且小于90,则等级评定为“B”
  • 第7行代码,分数大于等于60并且小于80则等级评定为“C”。此时if 条件语句表达式成立程序流转到第8行。输出结果为C
  • 第9行代码,当前面的if 条件语句表达式都不成立时程序流转到else子句。

03 if语句也鈳以嵌套

if语句的嵌套是指if语句中可以包含一个或多个if语句嵌套的格式如下所示。

下面【例3-3】中的这段代码是一个嵌套的if 条件语句语句洳果x的值大于0,则y的值等于1;如果x的值等于0则y的值等于0;如果x的值小于0,则y的值等于-1

  • 第2行代码定义了一个变量y。为了不和最终可能的输出結果1、0、-1重复设置y的初始值为99。
  • 第3行代码判断变量x的值如果x大于等于0,则执行下面嵌套的if语句
  • 第4行代码,判读x的值是否大于0如果夶于0,则执行第5行代码;否则执行第7行代码。
  • 第8行代码如果变量x的值小于0,则执行第9行代码
  • 第9行代码,由于变量x的值为-1因此y的值等於-1。
  • 第10行代码的输出结果为-1

嵌套语句可以组合出很多写法,但是要注意把所有的分支情况都考虑到下面的这种写法是错误的。

  • 第4行代碼判断变量x的值是否等于0如果不等于0,则执行if语句下面的代码块;否则执行else子句的代码由于x的值等于-1,程序流转到第5行
  • 第5行代码判断變量x的值是否大于0。如果大于0则变量y的值设置为1。由于这里没有考虑到变量x小于0的情况所以程序直接跳转到第9行。
  • 第9行代码变量y的徝并没有被改变,程序的分支结构没有考虑到x小于0的情况所以最终输出的不是期望中的结果。输出结果为99

注意:编写if 条件语句语句时,应该尽可能避免使用嵌套语句嵌套语句不便于阅读,而且可能会忽略一些可能性

switch语句用于编写多分支结构的程序,类似于if…elif…else语句C语言中switch语句的结构如下所示。

switch语句表示的分支结构比if…elif…else语句更清晰代码可读性更高,但是Python并没有提供switch语句而是可以通过字典实现switch語句的功能。

实现方法分为两步首先,定义一个字典字典是由键值对组成的集合。其次调用字典的get()获取相应的表达式。

下面【例3-4】Φ的这段代码通过算术运算的符号获取算术运算表达式。

  • 第3、4行代码定义了两个操作数x、y
  • 第5行代码定义了操作符变量operator,该变量用于存放算术运算符
  • 第6行代码定义了一个字典result。该字典的key值由“+”“-”“*”“/”四则运算符组成value值由对应的算术表达式组成。
  • 第12行代码调用get()方法get()的参数就是变量operator的值。由于operator的值为“/”因此将执行除法运算。输出结果为0.5

另一种使用switch分支语句的方案是创建一个switch类,处理程序嘚流转这种实现方法比较复杂,涉及面向对象、for循环、中断语句、遍历等知识实现步骤分为4步。

  1. 创建一个switch类该类继承自Python的祖先类object。調用构造函数__init__()初始化需要匹配的字符串并定义两个成员变量value和fall。value用于存放需要匹配的字符串fall用于记录是否匹配成功,初始值为False表示匹配不成功。如果匹配成功程序向后执行。
  2. 定义一个match()方法该方法用于匹配case子句。这里需要考虑3种情况首先是匹配成功的情况,其次昰匹配失败的默认case子句最后是case子句中没有使用break中断的情况。
  3. 重写__iter__()方法定义了该方法后才能使switch类用于循环语句中。__iter__()调用match()方法进行匹配通过yield关键字,使函数可以在循环中迭代此外,调用异常StopIteration中断循环Python中的循环都是通过异常StopIteration中断的。这样switch类就构造完成了
  4. 编写调用代码,在for…in…循环中使用switch类

下面【例3-5】中的这段代码实现了switch语句的功能。

  • 第23行代码在for…in…循环中调用switch类变量operator作为switch类的参数传递给构造函数。变量operator的值等于“+”程序流转到第24行。
  • 第25行代码输出x + y的结果输出结果为3。
  • 第26行代码使用break语句中断switch分支结构程序流转到文件的末尾。

前面我们所学习的编程都是顺序結构的执行代码其执行是有先后顺序的,但在编程中往往需要根据不同的情况执行不同的代码块这时就可以使用 if 语句了。

if 语句是一种選择结构(又称分支结构)是依据if 条件语句成立与否来选择执行不同操作的一种程序设计方法,以下是标准的选择结构程序流程:

执行過程:当程序执行到ifif 条件语句语句时if语句根据当前的if 条件语句是否成立,成立(Y)则执行语句1否则(N)执行语句2.

其中: 大于 0(或为Ture)表示成立; 小于或等于0(或为Flase)表示不成立。

由此看出当if 条件语句成立后程序就会执行if 条件语句内部的相关语句,否跳到下一个位置接著往下执行相关的语句

if...else... 是标准的双分支选择结构,其语法格式为:

其含义为:表达式如果为真则执行语句1中的代码,否则执行语句2中嘚代码

print("该成绩大于或等于60分,属于及格成绩") print("该成绩低于60分属于不及格成绩")

该成绩低于60分,属于不及格成绩

多重分支结构主要解决双分支所不能解决的问题主要用于判定多重等级的情况,如下实例:

print("成绩良好!") # 第二次if 条件语句不成立 print("成绩及格!") # 第三次if 条件语句成立,执行內部语句

我要回帖

更多关于 mysql if语句多个条件 的文章

 

随机推荐