Python入门 | 是循环,也是遍历

2023-10-24 17:31:47 浏览数 (2)

大家好,欢迎来到 Crossin的编程教室 !

上次我们讲解了Python中 while循环,并提到还有一种可以指定次数的循环形式:

代码语言:javascript复制
for i in range(10):
    print('此处为循环执行代码')

这句 for 循环语句有2个知识点:

1.

for循环的语法是

代码语言:javascript复制
for 变量名 in 一个序列:
    循环代码

所谓序列就是一组数据,比如「1 2 3 4 5」,又比如「a b c d e」。

for 循环的作用就是按照顺序,每次取出序列中的一个元素,赋值给前面的这个变量,直到全部取一遍。

这个过程又被称作「遍历」。

for 后面跟着的 i 就是每次循环中被赋值的变量,它不一定非要叫 i,也可以写成 abc、xxx,甚至是一个下划线_,只要符合变量命名规则就可以。

2.

后面的 range,是一个生成整数序列的方法,默认从0开始,到你括号里设定的数为止,但注意是不包含这个数,比如 range(10) 就是 0~9。

代码语言:javascript复制
print(list(range(10)))

输出:

代码语言:javascript复制
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

注意:严格来说,range的结果并不是序列,而是一个生成器。所以必须再套上一个 list 函数才能得到一个列表。关于这方面的细节,我们以后讲到列表和生成器的时候再详细解释。

上面1和2两部分一结合,range 生成 0~n-1 的整数序列,再由 for 循环遍历一遍,就实现了循环 n 次的效果。

在 Python 里,字符串、列表都是序列,所以都可以用 for 语句进行遍历。

代码语言:javascript复制
for x in 'Crossin':
    print(x)
for i in [1, 2, 3, 4, 5]:
    print(i)

输出:

代码语言:javascript复制
C
r
o
s
s
i
n
1
2
3
4
5

关于 range 再多说几句。

range 可以提供 1/2/3 个参数。

给1个参数时,表示生成从 0 到 这个数(不包含)的序列;

给2个参数时,表示生成从 第1个数(包含)到 第2个数(不包含)的序列;

给3个参数时,表示生成从 第1个数(包含)到 第2个数(不包含),并以 第3个数 为间隔的序列。

代码语言:javascript复制
for i in range(3, 10, 2):
    print(i)

输出:

代码语言:javascript复制
3
5
7
9

这个间隔甚至可以是负数。

代码语言:javascript复制
for i in range(10, 3, -2):
    print(i)

输出:

代码语言:javascript复制
10
8
6
4

最后留一道练习题:

用户输入一个数,程序输出0到这个数之间,所有可以被2和3整除的数

对于 Python 的循环,你有什么想说的?欢迎在留言区讨论。

0 人点赞