Python条件语句的平滑刷新

人生就是要做出正确的决定,我们的计划也不例外。 好吧,最后,我们正在为生活的某些方面编程。 因此,我们应该期望在程序中做出决策的问题。

这是条件语句起作用的地方。 它们通过程序的逻辑控制帮助我们做出此类决策。 Python中的条件语句是: ifelifelse

但是,条件语句有什么作用? 它仅根据执行的决定来检查语句(测试)是还是

分支程序

与按照语句出现的顺序执行语句的直线程序不同, 分支程序使我们可以导航到语句,而不必考虑顺序,而是基于决策。 我们上面提到的条件语句被认为是这类程序,前提是如果条件语句已执行,则程序将在条件语句之后的代码处继续执行。

条件语句结构

在本节中,我将描述条件语句组成的不同部分。 条件语句基本上由以下主要部分组成:

  • 评估为假的测试
  • 如果测试为 ,则运行的代码块
  • 如果测试为假,则为可选的代码块

因此,Python中的条件语句如下所示:

if test:
    code
else:
    code

其中test是布尔表达式,即计算结果为truefalse的表达式。 换句话说,条件语句使我们可以检查某些语句的真实性。 让我们看一个以上结构的简单示例:

x = 0
if x == 3:
    print 'x is equal to 3'
else:
    print 'x is NOT equal to 3'
    
print 'That\'s it!'

该代码段的输出是什么? 继续尝试一下。

在这一点上,我觉得我应该尽快提过缩进空格 ),其中Python使用,而不是像C.其他语言支撑在上面的脚本,如果你写的最后会发生什么print上根据同一级别的语句上面的print语句( else代码)? 换句话说,如果我们将其编写如下:

else:
    print 'x is not equal to 5'
    print 'That\'s it!'

在这种情况下, print 'That\'s it!' 将成为else代码块的一部分。

这只是缩进的一个简单示例,Python在语法上广泛依赖于此。 当您使用Python进行编程时,您应该期望缩进出现问题时偶尔会弹出这样的错误:

IndentationError: expected an indented block

嵌套条件语句

如果真实的代码块或错误的代码块(即其他)包含另一个条件语句,则说条件语句被嵌套 。 让我们看一个例子:

if course1 == 'Computer Science I':
    if course2 == 'Computer Science II':
        print 'student can take the Data Structures course'
else:
    print 'student lacks the necessary requirements to take the Data Structures course'

我们这里有一个嵌套的条件语句,因为第一个if语句在其中包含另一个if语句。 再次注意代码是如何缩进的。 使用Python编程时,这非常关键。

复合布尔表达式

如您所记得,我们已经提到条件语句结构中的测试是一个布尔表达式。 有时在同一测试中可能需要多个布尔表达式,这就是我们所说的复合布尔表达式

让我们举一个例子,找出三个数字中最小的一个。 请注意,第一个测试是一个复合布尔表达式。

if a<b and a<c:
    print 'x is the smallest number'
elif b<c:
    print 'b is the smallest number'
else:
    print 'c is the smallest number'

在此示例中,我们在本教程中首次使用第三条条件语句,即elif ,它引用else if

我们还使用了一个称为and的布尔运算,这意味着所有语句必须为true才能运行以下语句。 下表总结了Python的布尔运算:

布尔运算 描述
要么 如果任何表达式为真,则以下语句运行
要使以下语句运行,所有表达式都必须为真
如果表达式为真,则该表达式为假,反之亦然

如果这些混合操作有一个声明(测试),优先顺序如下: or先运行,再and ,然后not

让我们再举一个例子,说明如何将布尔运算与列表配合使用:

list = [1,2,3,4,5]
x = 13
if x not in list:
    print 'x is not in the list'

看看我们如何在本例中not使用? 如您所知,要使if语句中的代码块运行,该语句(布尔表达式)应求值为true 。 在本例中该语句最初计算为false 因为13不属于该列表。 但是,如果运行该程序,则会注意到正在运行print语句。 那是怎么发生的? 发生这种情况是因为我们使用了not运算符,该运算符会反转原始评估值。 在我们的例子中,它把false转换true

Python和Switch?

我知道您到目前为止可能一直想知道switch示例何时发布。 也许如果您以另一种编程语言学习了条件语句,那么您将面对一些示例,这些示例显示了使用switch语句的美妙之处。 我之所以没有提到此类语句的示例,是因为Python没有switch语句!

有关Python条件的更多信息,您可以参考文档

翻译自: https://code.tutsplus.com/tutorials/a-smooth-refresher-on-pythons-conditional-statements--cms-25562

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值