人人都能学会的python编程教程4:关系运算符与循环

字数 1064阅读 87

关系运算符

if 语句

实际应用中的程序,大多不是一撮而就的,而是根据条件不同存在很多分支。

最基本的条件分支结构是if...else...语句即如果。。。否则。。。

宝宝都能学会的python编程教程4:关系运算符与循环

在python当中,if condition1:(注意最后的冒号:)称为“语句头”。冒号:之后另起一行缩进的是“语句体”,语句体的行数不限,但至少有一行,否则需要用pass填充(即什么也不做)。

缩进是Python复合语句的关键,初学者经常因缩进不当而导致报错。关于缩进的习惯可以分为两个派别:Tab党,和Space党,即用Tab键或空格键来控制缩进。(我本人常年坚持使用Tab)

if之后必须是一个布尔表达式(如 condition1),当它为 True 时,执行其对应的语句体(branch1),否则向下跳转到后一个语句头(elif)。如果所有的 if 都没有被满足,则执行最后一个 else对应的语句体。

每个if分支所属的程序体都需要缩进,否则会产生语法错误,这与C/C++/Java等使用大括号 {} 的语言不同。

其实我个人认为,使用大括号的代码可读性更高,而且不容易在传播过程中失真。

下面写一个小程序判断一个数是奇数还是偶数

宝宝都能学会的python编程教程4:关系运算符与循环

循环

Python只支持两种循环:for 循环和 while 循环。

在语法结构上和 if/else 有些接近,比如语句头需要加冒号(:),语句体需要缩进。

for 循环

宝宝都能学会的python编程教程4:关系运算符与循环

在上一课中,我们介绍过对字符串的in和not in运算符:in运算符并非字符串的专利,很多数据类型都具备这样的性质,可以作为“迭代器”。

宝宝都能学会的python编程教程4:关系运算符与循环

迭代器

组成 for 循环的一个关键部分就是迭代器。最常用的迭代器其实是列表(list)。字典(dictionary)也可以作为迭代器,迭代对象就是(key)。

这些可以作为迭代器的数据容器,在之后的几节会详细介绍他们的属性,下面先来看一个简单的小例子:

宝宝都能学会的python编程教程4:关系运算符与循环

迭代器共有4个元素,分别是4个汉字。for循环迭代了四次,每次取一个字,并执行print()函数。

range()函数

range()函数可以生成特定形式的数值迭代数列,经常配合 for 循环使用。range()读取三个参数,分别对应三种情况:

  • range(a):一个参数,这个参数就是数列的上限(开区间,不包含这个数本身),下限默认为0。

  • range(a, b):两个参数分别指定了上下限。下限(a)是闭区间,也包含在其中;而上限(b)则是开区间,不参与计算。

  • range(a, b, c):三个参数。第三个参数叫步长,前两个例子没有第三个参数,因此都是以默认值 1 为步长。本例中我们人为指定了步长。输出了 10 以内的偶数。值得再次提醒的是,这里的“10以内”不包括10。注意,如果 range(a, b) 的参数 a>b,那么返回的将是一个空数组

  • 如果步长为负数,会返回什么样的结果呢?

  • 看下图

宝宝都能学会的python编程教程4:关系运算符与循环

while 循环

while 循环会持续反复执行循环内语句,直到condition == False。

每次执行语句之后,都会重新检查条件是否为真,如果为假则跳出循环。

宝宝都能学会的python编程教程4:关系运算符与循环

下面出一个编程小练习:

找出 100 以内三的倍数,放入列表 numbers 中。

numbers = []

列表添加元素地方法是:numbers.append()

>>>> 编程区 <<<<

>>>> 编程区 <<<<

下篇文章我们公布答案。

推荐阅读更多精彩内容