首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我为什么说条件判断是计算机运行逻辑之一

版权声明

本文首发于微信公众号

沁机迈可思(zw_life-long_doing)

无需授权即可转载

转载时请注明出处

前些天,和一个朋友谈论起到了目前火热的人工智能。讨论到目前比较普及的一个观点:未来的人工智能只会越来越智能,以致于最后超过我们人类,甚至替换

不信,你随便问一个人这样的问题:你认为人工智能最后会替换人类吗?

我打赌,80%的人会如此回答你:“现在当然不会,但是以后就说不准啦。”

但如果你也是这样认为的话,那事实估计会让你失望了。因为我们今天所说的人工智能,它的本质其实也是计算机中的一个应用。若计算机不会替换人类,那人工智能自然也不会

为什么这么说?因为现在所有的计算机能解决的,几乎都是有解的数学问题。包括图灵博士设计的“图灵机”(计算机发展的理论极限)。就更不要说还有很多问题在数学上是无解的呢。

那既然解的是数学问题,就有对错,也就得有判断的过程。即,若什么什么为真,应该怎么执行计算过程;若什么什么为假,又应执行怎样的计算?

从这个意义上来讲,“条件判断”就真得上是计算机的运行逻辑之一了。

再大胆的讲,如果给计算机附上情绪,那么条件判断的行为不就可以算是计算机的情绪晴雨表吗?心情好的时候,我要怎样怎样;心情不好的时候,我要怎样怎样。

本文用使用python作用基础语言,给大家讲讲计算机的“情绪判断”,也就是我们常说的“条件控制”语句。

在python里,通常用if……else来执行。它所解决的问题,在我们生活中通常也被称之为选择性问题。比如说你出去玩,遇见一个岔路口,一条向左,一条向右。如果你心情好呢,就向左走,如果心情不好呢,就像右走。那这样的语句,在用“if……else”怎么来执行呢?

上图就是“if……else”的基础用法,很简单对不对。接下来我们来深入讲一讲。

我相信,细心的你肯定会问:这个“if”后面的变量只能是一个bool类型吗?

当然不是。在“if……else”这个语句中,它的核心在于if后面的变量,只要是真的,就执行。所以,if后面的变量,还可以是表达式。比如说这样

发现了吧,不断你是什么条件,bool类型也好,表达式也好,只要“if”后面的变量它为真,就一定会打印出下面的语句。在上图中,我用了一个比较负责的表达式,这里解释一下它会什么会为真。

上图展示的是在python里主流运算符的运算优先级。从上至下优先级依次递减,然后横向从左至右,优先级也是依次递减。有了这张表,我们用括号来区隔开上面那个复杂的表达式

a or [(b + 1) == c]

这样看来,是不就简单多了?“or”在python语言表示的是“或”,即“1 or 2”为真,“1 or 1”就为假。“==”运算符的意思是“全等”,你可以理解为我们常说的等于。好,我们看回表达式。

b + 1的值是3,所以3不等于c,这个条件为False(假);

a = 1用bool类型判断为True(真);

因此,True or False的结果,为真。

当然,我们这样去看“if……else”的话,觉得它没有什么用,就是一个条件判断的语句。下面我们来说一个if……else一个比较经典的使用场景——密码登录。

除此之外,if……else语句还可以嵌套着使用,即多个条件嵌套在一起。这个时候就需要用到“elif”这个关键词了。如下图。

看到这,我相信你的脑海里一定浮现了一个名词——流程。

没错,计算机执行的过程,就是不断判断既定条件真假的过程。若为真,应怎样;若为假,应怎样。如此循环,直至满足条件的时候,再继续向下执行。人工智能在进行操作的时候,不也是这样的吗?

当然,因为篇幅限制,这里不再讲“循环”语句。它和条件判断一样,也是计算机的运算逻辑之一。像极了我们遇见困难受到打击的时候,你是选择不了了之?还是变更方法或技巧,再来一次,直至成功。

方式笨拙,但成效还是有的。搞笑的是,我们可以通过代码让计算机这样去执行,但是我们自己确实少了它的那份执着。往往在执行的过程中伴随着怀疑、焦虑等等。我不否认一件事的成功需要多方面的共同作用,但既然是面对着一个正确的方向,既然是站在了前人的肩膀上继续执行,那么我们就不应该时刻怀疑自己的选择。选择了就去坚持,坚持后就去承担,承担这个选择带来的结果。

我是钟小韦,爱折腾的数据分析师,在应用大数据的路上,期待与你同行。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180427G0R3VB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券