学习目标

了解魔法世界中的结构表现——缩进

了解魔法世界的逻辑判断——if

了解魔法世界的多次逻辑判断——ifelse嵌套

了解魔法世界中的逻辑运算——且 and 与或 or

一、了解魔法世界中的逻辑判断

在python中进行逻辑判断其实指的是流程控制,那什么是流程控制呢?流程控制指的是在编写代码时,有不同条件下需要执行的代码,满足该条件后将会执行这部分流程;这一部分流程可以是一条代码、空或多条代码。那我们的代码如何体现这个流程控制呢?其实在我们的程序运行中,会出现一些可能预计的情况,通过对这些情况的判定从而在某些情况出现时做响应;例如在做一台壁障小车时,判断前方是否有障碍物,若有则转弯或后退,其它情况则直走;在整个过程中,转弯和后退表示一个情况触发后需要响应的流程,其它情况则直走,这就是流程控制。从壁障小车的表现上看,则是有了逻辑;在魔法世界中,释放有逻辑的魔法就像一枚跟踪导弹,放出去必定命中敌人。

1.1 了解逻辑判断咒语——if关键字if在python中是用来表示逻辑判断的关键字(关键字指系统中内定已有功能的字符组合,就像魔法中的咒语一样),使用if,在if后拼接触发的条件,则会在程序运行过程中触发指定的流程。现在我们来看一下以下示例:

以上代码使用了if关键字,之后接上了一个条件,这个条件是1>10;我们现在先别管条件是怎么写,刚刚说了,条件满足后将会触发指定的流程。那的指定流程改如何编写呢?我们可以看一下这一行代码中有一个冒号,冒号的一般作用是解释说明,那在代码中是否也可以使用冒号用作一种类似于“解释说明”的作用?恭喜你,如果你这么想那就是猜对了。那我们就在1>10的时候就显示“1>10”吧,查看以下代码:

在以上代码中整体的代码意思为,使用if关键字,判断1是否大于10,大于10则执行冒号后的代码;运行python文件:

发现什么都没有出现,这是为什么呢?因为1>10这个条件不成立,在一般情况下1是不可能大于10的;那修改条件为1

运行结果:

成功显示了1

首先我们需要使用input魔法接收用户输入的值,并且使用一个变量存储该值:

随后使用a变量进行判断,查看是否小于10:

我们运行代码,输入一个数10,结果发现了错误;这是博主我翻车了吗?当然是的,还好我有安全气囊。首先我们查看一下我们的魔法到底哪里错了:

以上错误提示中,告诉我们使用

怎么回事?难道我输入10不是数字?在python中当然不是数字呢,当前输入的10是一个字符串;可能你会一巴掌打我,并且说“10明明是数字,你是在忽悠我颠倒我的世界观吗?”。其实数字可以做为字符也可以作为数字,例如在一串字符串中“小明今年17岁了”,其中出现了数字17,那这个17是字符串还是数字?在我们脑海里它是个数字,我们觉得这个17是个数字是因为我们进行了逻辑判断,知道它是个量词;所有的这一切逻辑是基于我们所学过知识的基础上进行的判定,但计算机并没有学过,它并不能判断,只能通过我们所告诉它存在那个容器,这个容器是什么类型,数据存储进去后将会按照容器的类型从而改变值。

那接下来怎么做呢?这个很简单,只需要在判断的时候转换一下变量a的值就可以了:

以上代码中,在变量a与10进行判断时转变了a的表现,为整数形式;运行结果如下:

程序运行后输入了一个值2,判断条件成立,那么则运行显示出 a小于10。

1.2 了解缩进的使用想必有细心的魔法师还记得我之前说“流程可以是多条代码”,那这个多条代码怎么写呢?难道是:

不不不,这个是错的,我们需要使用一个叫做缩进的表示形式去凸显代码只能够的层次。例如:

就这?对的,就这。这就是缩进,缩进其实就是把版面给排得整齐了。查看如上代码,在if条件判断冒号后换了一行,并且在这一条代码 前添加了4个空格,并且也在这个流程内的代码 前也添加了4个空格,一般4个空格指一个tab键自动输入的4个空格。

这样的编写形式非常容易凸显层次,例如if执行判断后,该执行多条代码,这属于共同流程内的代码需要整体的使用缩进进行控制层次。

二、了解魔法世界中的逻辑判断嵌套

在python代码编写中也可以使用嵌套的判断用于流程的控制。例如我们做一个“作弄人”的小魔法,输入3次,第一次输入一个数小于10,之后的每次输入都只能输入比上一次小的数,如果输错了则游戏结束。

2.1 if的嵌套使用知道了游戏规则,那到底什么是嵌套呢?嵌套用最近流行的一个词来说就是“套娃”(2020年10月31日),用现实中的类似食物做一个比方就是一个碗上面又叠了一个,这就是嵌套。

在python代码中if的表现形式为:

if的嵌套就是指在if条件判断的流程代码中再使用if判断。以上表现形式中使用了#号来修饰一些说明,这是什么东西?这是表示这是注释,注释表示这一行或者这一块代码的说明,方便你进行查看解释的标注,在通过解释器时并不会去翻译使用#号标注的内容。

为什么玩这个游戏需要使用if嵌套呢?我先跟你说一下我的实现思路:从键盘上输入一个值,我们接着判断这个值是否小于10,判断成功后进入正确的流程,在条件判断正确所需要执行的代码中继续使用input语句接收一个值,完成我们的二次输入,然后使用if继续判断这个值是否小于第一次输入的值,那么小于的话继续执行这个if语句判断正确的代码,那么接下来该怎么做呢?当然是跟之前一样的操作流程呢,添加一个input和一个if就可以了(当然也可以不用if嵌套也有别的方法,不过在此演示的示例是基于教学内容而设定)。

我们看一下正确的代码:

以上代码中首先使用一个变量a接收输入的值,之后判断是否小于10,小于10则执行指定流程内的代码,之后在该流程内重复与之前代码类似的编写;不同的有使用了一个变量b作为值的接收,随后判断变量b与变量a的值,变量a是第一次输入的值存储,游戏规定一定要小于上一次的值,所用用刚刚输入的值与上一次的值做对比;第三次的操作类似不在赘述,这样就完成了这个游戏的编写。运行结果:

2.2 if不成立时 else来帮你在2.1中我们的逻辑判断存在一丝缺陷,缺少了条件不成立时该执行代码什么代码。在python中提供了else关键字让我们解决该问题:

当条件成立时执行条件冒号后的对应流程代码,当条件不执行时执行else流程的代码。查看一示例:

如果我们把else加到2.1的游戏中,代码可以写成:

以上代码在每一个if结构后都跟了一个else,在此要注意缩进的结构哟,每个if都是有自己的结构的,可以看以下图示说明:

运行结果如下:

2.3 多条件时怎么办?使用if elif轻松解决现在假设我需要判断我输入的是1还是2或者是3从而执行不同的流程,这时可以使用if elif结构判断多个条件。

以上示例中,在使用了if判断值是否是1,使用两个等于号“==”表示判断左右两边的值是否相等,在python中使用一个等于“=”表示赋值;假设值等于1则输出,假设需要判断是否输入的值等于2这时就需要使用elif,在elif后添加判断条件 ,假设所有条件都不满足,那么则输出else部分的内容。运行结果如下:

当然也可以多个elif组合:

2.3 使用逻辑运算 and 与 or 进行编程假设在魔法世界,你释放了一个封印魔法封印一把锁,需要输入一个小于10的数并且能够被2整除才可以打开;这时需要判断的条件为2个,一个是小于10另外一个是除2余数等于0。这时我想用一个if语句就可以解决,这时就可以使用逻辑运算,查看示例:

以上示例中使用了and运算符,表示“与”;and运算发坐标为一个条件(表达式)右边也是一个条件,首先判断坐标条件a是否小于10,如果成立则判断右边a除2取余数是否为0,如果为0就显示“打开盒子”。在这and 表示左右两边条件都正确即为整个表达式 正确,换句话说就是and的坐标和右边的判断都正确才是最终答案。再次用了运算发百分号%,百分号表示取余数。

运行结果如下:

如果使用 or 进行表达式运算则只需要一个表达式正确即可,意思就是左边和右边只要有一个条件成立就表示正确了:

假设我输入一个值100,它是大于10的条件1不成立,但是它却可以被2整数余数为0,在使用or的情况是会显示“打开盒子”的,若属于111则不行,因为条件都没满足。运行结果如下:

使用运算符and 和 or 并不只是能判断2个条件,也可以判断多个条件:

也可以or 和 and 混合使用:

以上条件判断为表示a小于10并且除2余数为0,假设这一部分不满足则判断a是否等于200,由于与之间使用or进行连接,则表示两者之间即使左边全错,右边对了那么就正确,如果与全错则整个条件判断错误。运行结果如下:

四、总结

了解了在python中是使用缩进代表的层次结构

了解了使用if可以进行逻辑判断进行流程控制

了解了逻辑判断是可以嵌套的

了解了逻辑运算可以使用 and 和 or 进行逻辑运算

在python中逻辑量有_(五)我的魔法竟有了一丝逻辑相关推荐

  1. 《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑

    学习目标 了解魔法世界中的结构表现--缩进 了解魔法世界的逻辑判断--if 了解魔法世界的多次逻辑判断--ifelse嵌套 了解魔法世界中的逻辑运算--且 and 与或 or 推荐 1.<备受好 ...

  2. Python中单个下划线“ _”变量的用途是什么?

    这段代码中_ after for的含义是什么? if tbh.bag:n = 0for _ in tbh.bag.atom_set():n += 1 #1楼 下划线_在Python中被视为" ...

  3. Python中单个下划线“_”变量的目的是什么?

    在Python中,下划线_被视为" 我不关心 "或" 丢失 "变量 python解释器将最后一个表达式值存储到名为的特殊变量中_. >>> 1 ...

  4. python中的下划线_讲解

    python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...

  5. python中fit什么意思_使用Logit()和fit()在python中进行逻辑回归

    我尝试使用以下代码在python中执行logistic回归-from patsy import dmatrices import numpy as np import pandas as pd imp ...

  6. python中nlp的库_用于nlp的python中的网站数据清理

    python中nlp的库 The most important step of any data-driven project is obtaining quality data. Without t ...

  7. python中基本程序结构_关于Python 程序格式框架的描述,正确的是( )

    [判断题]元组的元素是可读的,可以对元组进行更新.增加.删除操作. [多选题]哪些选项关于循环结构的描述是正确的( ) [单选题]以下可以终结一个循环的是 . [判断题]对于大量列表的连接,exten ...

  8. python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想

    [递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  9. python中nlp的库_单词袋简介以及如何在Python for NLP中对其进行编码

    python中nlp的库 by Praveen Dubey 通过Praveen Dubey 单词词汇入门以及如何在Python中为NLP 编写代码的简介 (An introduction to Bag ...

最新文章

  1. 关于秒杀系统的压力测试
  2. document的createElement方法创建具有指定标签的DOM对象
  3. Python八种数据导入方法,你掌握了吗?
  4. mongo数据库单节点搭建
  5. @ngrx/router-store 在 SAP 电商云 Spartacus UI 开发中的作用
  6. 回归分析检验_回归分析
  7. 虽然我们可能不想对元素应用3D变换,可我们一样可以开启3D引擎
  8. 字节跳动也取消大小周了,996内卷要终结了?
  9. 《OpenGL ES应用开发实践指南:Android卷》—— 3.7 练习
  10. MySQL设置mysqld_MySQL指定mysqld启动时所加载的配置文件
  11. 修改ssh服务端访问端口号
  12. 鹏城实验室支持建设的OpenI启智社区荣登2021“科创中国”开源创新榜
  13. Android手机写Java代码的软件
  14. 僵尸网络_僵尸网络钓鱼
  15. Python通过高德地图API批量计算两地路线距离
  16. 懂户型图 如何选择好户型
  17. 安全日志:/var/log/secure 详解
  18. IT人必须掌握的面试技巧
  19. ubuntu 超级优化,不仅仅是禁用几个服务哦
  20. IP CAMERA 介绍

热门文章

  1. php自动填表单,GreenBrowser 自动填表
  2. jQuery添加插入元素技巧
  3. .NET框架-Try-Parse和Tester-Doer
  4. Active Directory之AD对象
  5. python计算圆环的面积_巧用转化 计算圆环面积
  6. linux socket结构,Linux C socket编程中几个常见的结构体定义
  7. 安卓获取屏幕最大(绝对)分辨率
  8. 圆柱模板行业B2B站点打造MIP推送+熊掌号推送+历史普通推送插件
  9. modelnet40介绍_三维形状数据的深度特征表示
  10. [纯理论] FPN (Feature Pyramid Network)