Python教学:6. 循环
文章目录
- 1.1 循环的意义
- 1.2 for循环
- 1.2.1 range的用法
- 1.2.2 遍历列表
- 1.2.3 还能遍历什么
- 1.3 while循环
为什么有人会问我Python的循环怎么写呢?气死我了,这都不会,气得我直接
开课!
1.1 循环的意义
首先,如果你要打印很多相同的内容,你肯定不想 一个一个输入 print
吧?但是如果使用循环就可以快速地帮你打印这些内容了。比如:
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
print("123")
是不是看起来 特别影响 可读性?但是,如果用循环:
for i in range(10):print("123")
是不是美观多了?而且如果print
的数量是不定的,使用循环就可以很方便地修改print
的数量。
1.2 for循环
for循环是最常见的循环,它的语法如下:
for 变量 in 列表:操作
是不是很简单?举个例子吧:
for i in range(1, 10):print(i) # 1 2 3 4 5 6 7 8 9(此处空格代表换行)
有人可能会问:在我的例子里面,range
为什么放在列表的位置?
这是因为range
这个东西本身返回值就是一个列表。
那又有人问了:为什么输出里面没有10?
因为range
返回的列表是“左闭右开”的(也就是包含头,不包含尾)。这只是range
的基本用法,更高级的用法还请看下面——
1.2.1 range的用法
首先就是最基本的用法,也就是前面看到的:
range(区间起点, 区间终点)
有一种简写方法,就是只写区间终点,这样就是从 0 开始(字面意思)。这里就不列举了。
还有一种就是可以指定步长:
range(区间起点, 区间终点, 步长)
看个例子吧:
for i in range(0, 11, 2): # 这里是为了生成到10,所以填11。print(i) # 0, 2, 4, 6, 8, 10
步长当然可以是负数的:
for i in range(10, 0, -1):print(i) # 10 9 8 7 6 5 4 3 2 1
是不是很直观?可以说,range
生成的是一个 等差数列,步长就是这个等差数列的公差。
1.2.2 遍历列表
回到for的语法:
for 变量 in 列表:操作
刚刚在列表里面填了一个range,还能填什么呢?没错,就是真正的一个列表:
for i in [1, 3, 4, 2, 6]:print(i) # 1 3 4 2 6
像这样,我们就可以直观地看出,变量其实就是列表中的一个元素。
1.2.3 还能遍历什么
除了列表,循环里还能遍历什么呢?比如字符串:
for i in "hello":print(i) # h e l l o
还可以遍历一个字典:
dic = {"name": "小明", "age": "12", "school", "新华小学"}
for i, j, in dic.items():print(i, j) # name 小明 age 12 school 新华小学
至于变量这里为什么可以填i
和j
呢,这里运用的是Python的解包,后面 我会出一期教程的。
1.3 while循环
接下来就是while循环了,while循环的语法同样很简单:
while(条件):操作
while的执行过程是,首先判断 条件 ,如果为True,那么执行操作,然后再次判断……直到 条件 为False,那么就跳出循环,继续执行下面的代码。
举个例子吧:
i = 2
while (i <= 10):print(i) # 2 4 6 8 10i += 2
其实,while说白了就是条件循环,for循环能实现的东西它也一样能实现。比如刚刚的例子用for写就是这样的:
for i in range(2, 11, 2):print(i)
但是,while能实现的东西for不一定能实现,比如无限循环:
while True:print("123")
有人可能会问:如果我不小心运行了一个无限循环,怎么停止运行呢?
只需要按下Ctrl+C就可以了。不过如果你想随时停止程序,都是可以按这个组合键强制停止的。
好了,for和while都讲完了,那么,同学们,
下课!