今天我们要学习的是Python中的for循环,for循环常用于遍历字符串、列表、元组、字典、集合等序列类型。
for循环中的语法
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
其中迭代变量是自定义命名的,用于存放从序列类型中读取出来的元素,而代码块则是指具有相同缩进格式的多行代码。
我们来看一个小例子:
上述图片中,我们定义了一个字符串类型的变量course,变量赋值为"python"。然后我们使用for循环遍历了这个变量。迭代变量i先后被赋值为p、y、t、h、o、n,并代入循环体中运行。
使用for进行数值循环
使用for循环实现1到100之间的数字累加:
上述图片中,我们使用到了range()函数,这是一个Python中的内置函数,创建一个整数列表,一般用在 for 循环中。
range()函数的语法格式:
range(start, stop[, step])
- start:用于指计数的起始值,默认为从0开始。
- stop:用于指计数的结束值,但不包括stop本身,例如range(1,5)表示1、2、3、4,不包括5本身。相当于左便是闭区间,右边是开区间。
- step:用于指步长,即两个数之间的间隔,默认步长为1。
如果range()函数中,只有一个参数,则这个参数指的是stop,如果有两个参数,则指的是start 和 end。
循环使用 else 语句
在Python中,for循环可以与else一起使用,组成for...else
循环,else 中的语句会在循环正常执行完之后执行。
像上图中的for循环就是正常执行完毕,所以会接着执行else语句中的代码块。什么是不正常执行完毕呢?就是for循环中用到了break语句,这个之后会讲到。
动手练习
1.自定义一个变量,赋值为你的名字,然后使用for循环迭代这个变量?
2.请问下列代码的输出结果是什么?
for i in range(1, 100, 5):
print(i)
else:
print("end")
3.输出1到100之间的所有奇数?
参考答案
第一题:
name = 'Summer'
for i in name:
print(i)
输出:
S
u
m
m
e
r
第二题:
1
6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96
end
第三题:
for i in range(1, 101):
if i % 2 != 0:
print(i)