Python教学:7. 循环


为什么有人会问我Python的循环怎么写呢?气死我了,这都不会,气得我直接
开课!

7.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的数量。

7.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的基本用法,更高级的用法还请看下面——

7.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生成的是一个 等差数列,步长就是这个等差数列的公差。

7.2.2 遍历列表

回到for的语法:

for 变量 in 列表:
	操作

刚刚在列表里面填了一个range,还能填什么呢?没错,就是真正的一个列表:

for i in [1, 3, 4, 2, 6]:
	print(i) # 1 3 4 2 6

像这样,我们就可以直观地看出,变量其实就是列表中的一个元素。

7.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 新华小学

至于变量这里为什么可以填ij呢,这里运用的是Python的解包,后面 我会出一期教程的。

7.3 while循环

接下来就是while循环了,while循环的语法同样很简单:

while(条件):
	操作

while的执行过程是,首先判断 条件 ,如果为True,那么执行操作,然后再次判断……直到 条件 为False,那么就跳出循环,继续执行下面的代码。

举个例子吧:

i = 2
while (i <= 10):
	print(i) # 2 4 6 8 10
	i += 2

其实,while说白了就是条件循环,for循环能实现的东西它也一样能实现。比如刚刚的例子用for写就是这样的:

for i in range(2, 11, 2):
	print(i)

但是,while能实现的东西for不一定能实现,比如无限循环:

while True:
	print("123")

有人可能会问:如果我不小心运行了一个无限循环,怎么停止运行呢?
只需要按下Ctrl+C就可以了。不过如果你想随时停止程序,都是可以按这个组合键强制停止的。

好了,for和while都讲完了,那么,同学们,
下课!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值