在实际的开发中,想要实现某些功能或者需求,里面必然涉及到一些逻辑,复杂的也好简单也好,那么,通过python语法如何实现呢?这就涉及到了条件与循环。很显然绝大多数的语言都有条件和循环的语法,python的语法跟它们也都大同小异。学习起来也是很简单的,有基础的同学更是轻车就熟。

一.条件判断:

Python中的条件判读包含,if语句和if…elif…else 语句

首先看一下if语句,if语句的组成:关键字if + 条件表达式 + : +代码块(换行缩进)

看个例子:

if 2>0 :

    print("当if条件为True的时候打印")

其中:2>0其实就是一个条件表达式,只有当条件表达式为真,也就是True的时候,才会执行后面的代码块。

上面例子其实只用在一个条件表达式的时候,当需要判断多个条件的时候怎么办呢?通过and、or、not来实现,也就是常说的”与或非”。and表示“与”只有当and连接的所有条件都为真的时候,才为真,即当有一个条件不为真的时候,整个结果就不为真。or表示“或”,当or连接的所有条件有一个为真的时候,整个结果就表示为真。not表示“非”,其实就是取反的意思,表示not后面的表达式如果是真,返回的结果就是假,反之亦然。

具体用法举个例子:

a = 5

b = 'c'

c = True

if not a > 0 or b=='c' and c==True:

    print("当if多重条件为True的时候打印")

其中if的多重条件为真,最后print语句执行了,不知道同学们是否能够分析明白这个多重条件,由左到右,a>0为真但是前面有个not表面这个条件就是假了,or后面的b==‘c’很容易知道为真,但是or前面的表示假,所以有一个真的一个假的,根据前面的说明,知道or条件有一个为真,整个就是真,好了现在and前面的条件表示为真了,后面的条件很显然也是真,根据前面说明知道,and必须都为真的时候才为真,所以真个条件是为真的。经过上面分析,if循环还是很简单的,跟以后的学习也是分不开的。

再来看看if…elif…else 语句,用法和if语句是一样的,当遇到多个条件判断的时候很显然一个if语句是实现不了的,所以需要使用if…elif…else这个了,其中elif可以省略,当只有两个条件的时候就可以用if…else就可以了,当很多个条件的时候elif可以多次使用。举例如下:

a = True  

if a:

    print("a为True的时候执行")

else:

    print("a不为True的时候执行")

再看看多个elif的情况。

a = int(input("输入一个数字:"))
if a == 1:
print("当a为1的时候打印")
elif a ==2:
print("当a为2的时候打印")
elif a ==3:
print("当a为3的时候打印")
else:
print("当上面条件都不满足的时候打印")

这个例子的结果我就不给出来了,大家试一下就可以了。

除此以外呢,条件表达式中还涉及一个三元操作符,举例如下:

value = x if x>y else y

其中value最后赋的值是x还是y取决于if后面的表达式,如果x>y成立或者说为真,value的值为x,否则为y。

二.循环条件

1.while条件循环

格式:关键字while+ 条件表达式 + : +代码块(换行缩进)是不是跟if表达式差不多啊,其实用法也比较相似,当条件表达式为真的时候开始循环代码块,只有当条件表达式不为真的时候(代码块不再执行)循环结束。例子如下:

a = 1

while a!=5:

    print("循环%d次" %a)

    a = a +1

每次循环都会判断执行一下条件表达式,当不为真的时候整个while循环就结束了。

2.for迭代循环

之前说range的时候用过for循环。for循环其实就是用来遍历序列成员或者依次访问可迭代对象,这些都是什么什么,由于列表和元组都还没有介绍,这里就记下,等需要内容介绍完后再来看for循环。

3.while…else语句

要了解while…else就必须先知道break,break是干嘛用的呢?就是用来停止整个循环的,上面知道当不满足条件表达式的时候while循环结束,其实在循环的过程中当遇到break的时候while循环也就结束了。

先举个例子看一下:

a = 1

while a!=5:

    print("循环%d次" %a)

    a = a +1

    break

还是上面的例子,只加了一个break关键字,运行结果发现,print就打印了一次,程序就结束了,说明当遇到break的时候整个循环就跳出结束了。break是不是一个拦路虎啊。

刚才说了while循环结束有两种情况,一种是条件不满足了循环结束,另一种是遇到break,而while…else中else后面的代码块执行是需要满足上面第一种情况的,只有while循环执行到不满足条件了,才会执行else后面的代码块中的内容,而当遇到break这种情况的时候else后面的代码块是不会执行的。举个例子:

a = 1

while a!=5:

    print("循环%d次" %a)

    a = a +1

else:

    print("while循环条件不满足后,开始执行这个代码")

运行的结果如下:

大家可以试着在while循环里面加个break试一下,看else后面的内容是否会打印。其实for循环也可以加else,用法和道理跟while是一样的,等把for循环彻底介绍后,再讨论。

4.pass

pass的用法也是很简单的,当我们编写程序的时候不知道内容该如写的时候可以使用pass,表示一个空语句,实现真个程序的结构完整。举个例子:

a = 1

while a!=5:

当程序写到这里的时候不知道while循环的代码块该怎么写的时候,如果不写任何内容程序肯定报错,因为不符合语法,这时候加一个pass,如下:

a = 1

while a!=5:

    pass

程序是不是也不报错了,这里的pass就是一个空语句,相当于里面的内容为空。

判断与循环就介绍这么多,后面的学习会大量的使用,希望大家牢牢掌握,每天学习一点点,生活美好一点点。

福利:关注微信公众号,回复 python书,可获得目前python学习的一些认可度比较高的电子书

Tips:上面涉及到的代码。初学者一定要认认真真的自己敲一下,所有的运行的结果我也都在文章中给出来了,千万不要眼高手低。初学者大忌,很多时候自己实现的结果和想象的是不一样的。

特此说明:作者的内容均为原创,转载表明出处。由于本人的能力水平有限,如有发现错误和纰漏请联系作者,拜谢!
如果软件安装使用python等内容还有写不明白的同学可以加入qq群:476581018交流,或者关注微信公众号(快扫下图(●’◡’●))系列文章会在公众号最新发布,并且有很多福利等你哦!

Python基础学习参考(四):条件与循环的更多相关文章

  1. Python基础学习(四)

    菜鸟咀嚼python基础之继续. 一.返回函数 第三章已经简单操作了Python的高阶函数,目前继续练手函数作为返回值的特效:通常,高阶函数除了可以接收函数作为参数外,还可以把函数作为结果值返回. 案 ...

  2. Python基础(6)--条件、循环

    本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...

  3. Python基础学习参考(一):python初体验

    一.前期准备 对于python的学习,首先的有一个硬件电脑,软件python的运行环境.说了一句废话,对于很多初学者而言,安装运行环境配置环境变量的什么的各种头疼,常常在第一步就被卡死了,对于pyth ...

  4. Python基础学习参考(七):字典和集合

    一.字典 字典跟列表一样是一组数据的集合.它的特点是什么呢? 特点一:字典具有键(key)和值(value),其中键必须是唯一的,不可重复的,即键必须可以哈希的.对于值没有要求. 特点二:字典是无序的 ...

  5. Python基础学习参考(六):列表和元组

    一.列表 列表是一个容器,里面可以放置一组数据,并且列表中的每个元素都具有位置索引.列表中的每个元素是可以改变的,对列表操作都会影响原来的列表.列表的定义通过"[ ]"来定义,元素 ...

  6. Python基础学习参考(三):内置函数

    一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...

  7. Python基础学习参考(二):基本语法

    一.基本语法 既然是学习一门语言,它肯定有区别与其它语言的语法规则,现在就来解释一下python的语法规则是什么? 注释:通过"#"可以对python进行注释,注意是单行注释,如果 ...

  8. Python基础学习参考(五):字符串和编码

     一.字符串 前面已经介绍过字符串,通过单引号或者双引号表示的一种数据类型.下面就再来进一步的细说一下字符串.字符串是不可变的,当你定义好以后就不能改变它了,可以进一步的说,字符串是一种特殊的元组,元 ...

  9. python基础学习(四)if判断语句

    if判断语句的基本语法 在python中,if判断的格式如下: if 条件: 条件成立时,执行的语句 ...... 注意:代码的缩进要使用一个tab键或者四个空格(建议使用四个空格,tab和空格最好不 ...

随机推荐

  1. 字体类形:font-family, font-style

    语法:{font-family:字体1,字体2,字体3,...} 作用:调用客户端字体 font-family: "Lantinghei SC","Microsoft Y ...

  2. Docker for Web Developers目录

    在OpenStack在私有云占主导定位之后,后起之秀Docker在PaaS平台.CI/CD.微服务领域展露锋芒.作为Web Developers,我们有必要学习和掌握这门技术. 1. 运行第一个Doc ...

  3. handlebars.js模版引擎随记

    前台的模版引擎有许多种,相比较而言 我个人更觉得handlebars更为轻便 首先github上下载自新版本的handelbars.js http://handlebarsjs.com 下载下来之后呢 ...

  4. 应用ntpdate小工具同步时间

    应用ntpdate小工具同步时间: ntpdate pool.ntp.org 中国的时间服务器有: ntpdate .cn.pool.ntp.org ntpdate .asia.pool.ntp.or ...

  5. BZOJ 2303: [Apio2011]方格染色 [并查集 数学!]

    题意: $n*m:n,m \le 10^6$的网格,每个$2 \times 2$的方格必须有1个或3个涂成红色,其余涂成蓝色 有一些方格已经有颜色 求方案数 太神了!!!花我三节课 首先想了一下只有两 ...

  6. BZOJ 3809: Gty的二逼妹子序列 & 3236: [Ahoi2013]作业 [莫队]

    题意: 询问区间权值在$[a,b]$范围内种类数和个数 莫队 权值分块维护种类数和个数$O(1)-O(\sqrt{N})$ #include <iostream> #include < ...

  7. react native 常用组件汇总

    react-native-uploader //文件上传https://github.com/aroth/react-native-uploader jpush-react-native //官方版本 ...

  8. 调试 smallcorgi/Faster-RCNN_TF 的demo过程遇到的问题

    最近在调试faster R-CNN时,遇到了各种各样的问题.使用的算法库为https://github.com/smallcorgi/Faster-RCNN_TF 注:本文使用的是通过virtuale ...

  9. Ubuntu16.04+Apache虚拟主机配置详解

    在window下,Apache的配置文件是httpd.conf,但在Linux下安装了Apache后发现其配置并不像window下那么简单,Linux下Apache将各个设置项分在了不同的配置文件中, ...

  10. ECS的配置与使用

    登录阿里云ECS,系统是centos7.2 在linux下通过useradd方式创建新用户,切换到该用户权限,发现-bash-4.2$ . 解决方法:先查看进程,关闭相关进程.然后使用useradd ...