Python基础学习参考(四):条件与循环
在实际的开发中,想要实现某些功能或者需求,里面必然涉及到一些逻辑,复杂的也好简单也好,那么,通过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基础学习参考(四):条件与循环的更多相关文章
- Python基础学习(四)
菜鸟咀嚼python基础之继续. 一.返回函数 第三章已经简单操作了Python的高阶函数,目前继续练手函数作为返回值的特效:通常,高阶函数除了可以接收函数作为参数外,还可以把函数作为结果值返回. 案 ...
- Python基础(6)--条件、循环
本文的主要内容是 Python 的条件和循环语句以及与它们相关的部分. 我们会深入探讨if, while, for以及与他们相搭配的else,elif,break,continue和pass语句. 本 ...
- Python基础学习参考(一):python初体验
一.前期准备 对于python的学习,首先的有一个硬件电脑,软件python的运行环境.说了一句废话,对于很多初学者而言,安装运行环境配置环境变量的什么的各种头疼,常常在第一步就被卡死了,对于pyth ...
- Python基础学习参考(七):字典和集合
一.字典 字典跟列表一样是一组数据的集合.它的特点是什么呢? 特点一:字典具有键(key)和值(value),其中键必须是唯一的,不可重复的,即键必须可以哈希的.对于值没有要求. 特点二:字典是无序的 ...
- Python基础学习参考(六):列表和元组
一.列表 列表是一个容器,里面可以放置一组数据,并且列表中的每个元素都具有位置索引.列表中的每个元素是可以改变的,对列表操作都会影响原来的列表.列表的定义通过"[ ]"来定义,元素 ...
- Python基础学习参考(三):内置函数
一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...
- Python基础学习参考(二):基本语法
一.基本语法 既然是学习一门语言,它肯定有区别与其它语言的语法规则,现在就来解释一下python的语法规则是什么? 注释:通过"#"可以对python进行注释,注意是单行注释,如果 ...
- Python基础学习参考(五):字符串和编码
一.字符串 前面已经介绍过字符串,通过单引号或者双引号表示的一种数据类型.下面就再来进一步的细说一下字符串.字符串是不可变的,当你定义好以后就不能改变它了,可以进一步的说,字符串是一种特殊的元组,元 ...
- python基础学习(四)if判断语句
if判断语句的基本语法 在python中,if判断的格式如下: if 条件: 条件成立时,执行的语句 ...... 注意:代码的缩进要使用一个tab键或者四个空格(建议使用四个空格,tab和空格最好不 ...
随机推荐
- 05_Javascript进阶第二天
String对象 res=str.charAt(1);//返回字符串中第n个字符(输出:i) res=str.charCodeAt(1);//返回第n个字符的ASCII编码(输出:105) res=S ...
- redis数据类型-散列类型
Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...
- jenkins构建一个maven项目[五]
标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 构建一个maven项目,即为构建java项目.模拟实验之前先把实验代码推送到 ...
- VMware10不能安装64位(linux)系统,提示此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态
今天下载VM10准备安装Ubuntu14.04,一如既往的进行安装,突然发现出现了问题:此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态,具体如图: 如图中提示可重启电脑进入B ...
- pandas教程
对pandas做最简单的介绍,针对初学者. 一.引入相关模块模块 import numpy as np import pandas as pd import matplotlib.pyplot as ...
- Scrapy框架实战-妹子图爬虫
Scrapy这个成熟的爬虫框架,用起来之后发现并没有想象中的那么难.即便是在一些小型的项目上,用scrapy甚至比用requests.urllib.urllib2更方便,简单,效率也更高.废话不多说, ...
- S5PV210中断处理
_start: 1.设置栈空间:防止之前的UBOOT代码被覆盖,应为c中需要栈空间 ldr sp, =0x40010000 2.设置CPSR的I,F位,A8打开IRQ,FIQ中断: mov r0, # ...
- centos6下从源码安装setuptools和pip
1. 下载setuptools及pip的源码包 setuptools与pip都是python的模块 setuptools源码包: https://pypi.python.org/pypi/setupt ...
- setfacl命令 来自: http://man.linuxde.net/setfacl
常用选项##### <pre>-b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留. -k,--remove-default:删除缺省的 ...
- curl模拟请求
GET请求 <?php //初始化 $curl = curl_init(); //设置抓取的url curl_setopt($curl, CURLOPT_URL, 'http://www.bai ...