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

关系运算符

if 语句

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

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

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

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

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

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

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

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

循环

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

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

for 循环

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

迭代器

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

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

迭代器共有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,那么返回的将是一个空数组

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

看下图

while 循环

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

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

下面出一个编程小练习:

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

numbers = []

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

# >>>> 编程区

# >>>> 编程区

下篇文章我们公布答案。

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

扫码关注云+社区

领取腾讯云代金券